java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger в Jboss 4.0.1 SP1 в связи с обновлением Hibernate с 3.2 до 4.3.8

При обновлении Hibernate с 3.2 до 4.3.8 я сталкиваюсь с сообщением об ошибке ниже, которое приводит к тому, что мой сервер jboss (сервер boss 4.0.1 sp1) не поднимается.

java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
  at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:194)

Далее, изучив его, я заметил, что Hibernate ссылается на свой собственный jar-файл журналирования Jboss (jboss-logging-3.0.1.GA jar-файл), а Jboss ссылается на jar-файл jboss-common-core, которые оба имеют общее имя класса "logger.class". на том же уровне пакета "org.jboss.logging", который вызывает вышеуказанную ошибку.

Это похоже на проблему с конфликтом Jar. Я попробовал следующие варианты, чтобы решить эту проблему, но я не добился успеха.

1) Удаление jar 'Jboss-common-core' из каталога /lib и добавление jar-logging jar. Однако Jboss-сервер не запускается, потому что Jboss-core-core-jar является обязательным для запуска jboss-сервера.

2) Добавление Jboss-logging в каталог server/xxx/lib, но оно по-прежнему вызывает то же исключение.

3) Реализация механизма загрузки классов ("jboss-web.xml") в файле war в каталоге WEB-INF, как показано ниже.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
<jboss-web>
    <class-loading java2ClassLoadingCompliance="false" >
        <loader-repository>com.example:archive=Example.war<loader-repository-config>java2ParentDelegaton=false</loader-repository-config>
        </loader-repository>
    </class-loading>
</jboss-web>

4) Реализация механизма загрузки классов ("jboss-app.xml") в файле ear в каталоге META-INF. В нашем файле ear также содержится файл war.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-app
    PUBLIC "-//JBoss//DTD J2EE Application 1.4//EN"
    "http://www.jboss.org/j2ee/dtd/jboss-app_4_0.dtd">
<jboss-app>  
  <loader-repository>
  com.example:archive=example.ear
     <loader-repository-config>
     java2ParentDelegation=false
     </loader-repository-config>
  </loader-repository>
</jboss-app>

5) Путем изменения атрибута "UseJBossWebLoader" в значение false, расположенное в дескрипторе server/xxx/deploy/jbossweb-tomcat50.sar/META-INF/jboss-service.xml. Но он выдает то же самое исключение.

У кого-нибудь есть идея решить проблему?

0 ответов

Другие вопросы по тегам