好了,设法解决了这个问题:
获取对tomcat’common’类加载器的引用,并将其传递给Elasticsearch客户端:
ClassLoader contextClassLoader = thread.getContextClassLoader();try { Settings settings = ImmutableSettings.settingsBuilder().classLoader(contextClassLoader.getParent()).build(); client = new TransportClient(settings);这样做的副作用是必须将names.txt文件从elasticSearch jar中移到“通用”类路径上的某个位置。
我仍然没有找到为什么这个问题会影响我的特定堆栈而不是其他堆栈的原因,但希望这样做并在此处进行更新。



