Я использую Elasticsearch 1.1.1
, java клиентские и серверные версии - то же самое. Единичные тесты работают нормально. когда я запускаю сервер tomcat, он имеет:
java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/WebappClassLoader) previously initiated loading for a different type with name "javax/servlet/FilterConfig"
и до этой ошибки было много следующего:
2014-05-02 15:07:03,954 DEBUG o.e.plugins [localhost-startStop-1] [Corsair] [D:\eclipse-indigo\plugins\org.python.pydev.jython_2.7.0.2012080220\_site] directory does not exist.
многие из них и с разными папками
если я удалю код, использующий elasticsearch
и сохраняющий зависимость в pom.xml, сервер начнет нормально работать. WEB-INF/lib
и мой TOMCAT_HOME/lib
приложений не имеют servlet-api.jar
, его только в TOMCAT_HOME/lib
часть, которую я установил для клиента es, выглядит следующим образом:
if (this.client == null) {
this.client = new TransportClient(ImmutableSettings.settingsBuilder().
put("cluster.name", this.cluster).build());
final String[] addresses = this.hosts.split(",");
for (final String address : addresses) {
final String trimmed = address.trim();
final String[] tuple = trimmed.split(":");
this.client.addTransportAddress(
new InetSocketTransportAddress(tuple[0].trim(), Integer.valueOf(tuple[1].trim())));
}
}
Этот же код используется для модульных тестов и проходит все тесты.
Любой указатель очень ценится.
Это, похоже, актуально, но не было надлежащего решения.
Ошибка связи при использовании клиента Elasticsearch в Spring WebApp
FYI, я также использую Spring & Spring MVC 4.2.5.RELEASE, Tomcat версии 7.0.40
ОБНОВИТЬ:
Благодаря этой ссылке http://lexxweb.co.uk/blog/?p=66, оказывается, что это один из плагинов eclipse, который загружает другую сервлет-api-версию версии, в результате чего LinkageError я получаю.
Благодаря этой ссылке http://lexxweb.co.uk/blog/?p=66, оказывается, что это один из плагинов eclipse, который загружает другую сервлет-api-версию версии, в результате чего LinkageError я получаю. После удаления плагина все хорошо сейчас
servlet-api
который как-то тянет.