Как настроить JBOSS 5.1.0 GA ClassLoader

У меня возникают некоторые проблемы при попытке загрузить библиотеки из моего приложения вместо того, что поставляется с JBoss.

Я пытаюсь использовать последнюю и лучшую версию SLF4J в своем приложении, и при этом получаю следующие сообщения:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [vfszip:/C:/devtools/workspace/g2/.metadata/.plugins/org.jboss.ide.eclipse.as.core/JBoss_5.1_Runtime_Server1302541739184/deploy/ecotrakEar.ear/ecotrak.war/WEB-INF/lib/slf4j-log4j12-1.6.1.jar/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [vfszip:/C:/devtools/jboss-5.1.0.GA/common/lib/slf4j-jboss-logging.jar/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

В моем приложении у меня есть следующие jar-файлы, расположенные в моем каталоге WAR lib:

  • jul-to-slf4j-1.6.1.jar
  • slf4j-api-1.6.1.jar
  • slf4j-log4j12-1.6.1.jar

Мой проект развернут как EAR с WAR. Все библиотеки находятся в WAR.

На основании некоторых исследований было предложено создать для JBoss 5.1 файл jboss-classloading.xml. Я создал один для своего EAR:

<classloading xmlns="urn:jboss:classloading:1.0"
  name="ecotrak.ear"
  domain="ecotrak.ear"
  export-all="NON_EMPTY"
  import-all="true"
  parent-first="false">
</classloading>

Это указывает на то, что файл EAR должен быть загружен первым.

Я также создал один для своей WAR:

<classloading xmlns="urn:jboss:classloading:1.0"
  name="ecotrak.war"
  domain="ecotrak.war"
  parent-domain="ecotrak.ear"
  top-level-classloader="true"
  export-all="NON_EMPTY"
  import-all="true"
  parent-first="true">
</classloading>

С этой конфигурацией я получаю следующую ошибку в журналах запуска:

11:18:07,949 ERROR [[/ecotrak]] Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
    at org.apache.commons.logging.impl.SLF4JLocationAwareLog.trace(SLF4JLocationAwareLog.java:107)

Как правильно загружать jar-файлы из моего проекта до JBoss?

6
задан boyd4715 4 November 2011 в 16:13
поделиться