2014-10-09 3 views
0

Я новичок в Wildfly и хотел обновить наш текущий сервер JBoss 5.1 до Wildfly 8.1. У меня есть приложение, которое содержит 1 войну и много банок, которые находятся на пути к этой войне. Это ухо развертывается на JBoss 5.1 без каких-либо проблем, но на Wildfly 8.1 я получаю LinkageErrors.банки в ухе не относятся к классам в других упакованных банках в Wildfly 8.1

2014-10-09 16:08:12,425 WARN [org.jboss.modules] (MSC service thread 1-16) Failed to define class org.castor.xml.XMLProperties in Module "deployment.iffc.ear.castor-1.3.3-xml.jar:main" from Service Module Loader: java.lang.LinkageError: Failed to link org/castor/xml/XMLProperties (Module "deployment.iffc.ear.castor-1.3.3-xml.jar:main" from Service Module Loader) 
... 
Caused by: java.lang.ClassNotFoundException: org.castor.core.util.AbstractProperties from [Module "deployment.iffc.ear.castor-1.3.3-xml.jar:main" from Service Module Loader] 

Приложение использует касторовое 1.3.3 и на пути к классам для войны они включены: касторовое-1.3.3-core.jar и касторового-1.3.3-xml.jar.

Структура каталогов уха, как это:

ear 
|---METAINF 
|---castor-1.3.3-core.jar 
|---castor-1.3.3-xml.jar 
|---many other jars 
|---warFile.war 

ClassNotFoundException указывая на org.castor.core.util.AbstractProperties существует, но в касторовом-1.3.3-core.jar. Почему код не выглядит в основном файле jar вместо XML-файла XML?

Я узнал об этом с Wildfly that the classloading has changed. Существует заголовок раздела «Загрузка EAR-класса».

Единственное подразделение в этом ухе - это warFile.war. Остальные не отображаются в качестве подразделений, если я не интерпретирую документы неправильно. В нем говорится, что войны и банки EJB являются подразделениями, и у меня нет баннеров EJB.

В любом случае я попытался явно установить ушные подразделения - изолированные на false, создав файл jboss-deployment-structure.xml в каталоге METAINF уха. Это ничего не делало.

Я также явно изменил файл манифеста castor-1.3.3-xml.jar, чтобы иметь зависимость от castor-1.3.3-core.xml, но это вызвало целый беспорядок. Это привело к тому, что во всех других базах отсутствовали зависимости от других банок ... Я думаю, если вы явно укажете зависимость от одной банки, вы должны сделать это для всех?

Любая помощь очень ценится. Хотелось бы запустить это приложение на этом новом сервере. Благодаря!

UPDATE:
warFile.war имеет Class-Path, определенный в файле MANIFEST.MF со всеми этими баночками, расположенных на корневом уровне уха.

Добавлен класс путь от войны модуля:

Class-Path: axis-1.3.jar castor-1.3.1-core.jar castor-1.3.1-xml.jar co 
mmons-jxpath-1.2.jar commons-lang-2.0.jar commons-logging.jar commons 
-pool-1.3.jar log4j-1.2.14.jar gson-2.2.4.jar activation.jar axiom-ap 
i.jar axiom-impl.jar axis2-adb.jar axis2-kernel.jar backport-util-con 
current.jar commons-codec.jar commons-discovery.jar commons-fileuploa 
d.jar commons-httpclient.jar commons-io.jar geronimo-strax-api_1.0_sp 
ec.jar neethi.jar qxpsm-webservicestubs-10.1.jar wsdl4j.jar wstx-asl. 
jar XmlSchema.jar 
+0

WildFly (и JBossAS 7.x) загрузка классов была изменена так, что она вела себя так, как специфицирует спецификацию JavaEE по умолчанию. Раньше версии JBossAS требовали конфигурации для получения этого эффекта. Пожалуйста, покажите содержимое записи Class-Path в файле MANIFEST.MF из файла WAR –

+0

@SteveC. Я обновил вопрос с помощью записи класса. Я закончил перемещение всех файлов jar в каталог lib файла уха, и теперь классы загружаются без ошибок. Я думаю, что это связано с спецификацией JavaEE? –

ответ

1

Вы должны поставить письменный или EJB войны модули в Lib папки в файле уха

ear 
|---lib 
|  |---castor-1.3.3-core.jar 
|  |---castor-1.3.3-xml.jar 
|  |---non ejb jars 
| 
|-- warFile.war 
|-- ejbFile.jar 
+0

Спасибо за ответ, и я, наконец, попробовал это и работал в моем случае. Я все еще не совсем уверен, почему у меня не может быть таких же банок на уровне уха. Я забыл упомянуть, что в моем военном файле был указан класс-путь, указанный в файле манифеста с этими банками. Разве это тоже не должно работать? –

 Смежные вопросы

  • Нет связанных вопросов^_^