JBoss wildfly 10 NoClassDefFoundError при переносе из JBoss 4.2
У меня есть весеннее приложение MVC, работающее на JBoss 4.2. Я пытаюсь перенести это веб-приложение в JBoss wildfly 10 (wildfly-10.0.0. Окончательная версия).
Когда я пытаюсь развернуть мое приложение, вы увидите эту ошибку:
"{\"WFLYCTL0080: Failed services\" => {\"jboss.deployment.unit.\\\"myApp.war\\\".POST_MODULE\" => \"org.jboss.msc.service.StartException in service jboss.deployment.unit.\\\"myApp.war\\\".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment \\\"myApp.war\\\"
Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class org.ajaxtags.tags.AjaxDisplayTag with ClassLoader ModuleClassLoader for Module \\\"deployment.myApp.war:main\\\" from Service Module Loader
Caused by: java.lang.NoClassDefFoundError: au/id/jericho/lib/html/Segment
Caused by: java.lang.ClassNotFoundException: au.id.jericho.lib.html.Segment from [Module \\\"deployment.myApp.war:main\\\" from Service Module Loader]\"}}"
В поисках интернета я прочитал, что мне нужно загрузить jar "jericho-html-2.6.1.jar". Чтобы сделать это, я добавил в ${wildfly_home}/modules/system/ слои /base/au/id/jericho/lib/html/main файл jericho-html-2.6.1.jar и этот module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="au.id.jericho.lib.html">
<resources>
<resource-root path="jericho-html-2.6.1.jar"/>
</resources>
<dependencies>
</dependencies>
</module>
Я добавил расширение в standalone.xml
<extension module="au.id.jericho.lib.html"/>
Но я получаю ту же ошибку.
1 ответ
Решение
Почему вы добавляете расширение в standalone.xml?? Вы должны добавить файл WEB-INF/jboss-deploy-structure.xml к вашей войне с:
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="au.id.jericho.lib.html" />
</dependencies>
</deployment>
</jboss-deployment-structure>