2016-08-19 5 views
1

У меня есть приложение mvc весны, запущенное в JBoss 4.2. Я пытаюсь перенести это веб-приложение в JBoss wildfly 10 (wildfly.10.0.0.Final version).JBoss wildfly 10 NoClassDefFoundError при миграции из JBoss 4.2

При попытке развернуть мое приложение показать эту ошибку:

"{\"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]\"}}" 

Ищет в Интернет, я прочитал, что мне нужно, чтобы загрузить банку «Иерихон-HTML-2.6.1.jar». Для этого я добавил в $ {wildfly_home}/modules/system/layers/base/au/id/jericho/lib/html/main jericho-html-2.6.1.jar и этот модуль. 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"/> 

Но я получаю ту же ошибку.

+0

Думаю, вы должны использовать 'Иерихон-HTML-2.6.1.jar'. без '-sources'. – Jens

+0

Привет @Jens, я попробовал, но не работал. Как проверить, загружен ли модуль jericho? –

ответ

2

Почему вы добавляете расширение в standalone.xml ?? Вы должны добавить WEB-INF/файл JBoss развертывания-structure.xml к вашей войне с:

<jboss-deployment-structure> 
    <deployment> 
     <dependencies> 
      <module name="au.id.jericho.lib.html" /> 
     </dependencies> 
    </deployment> 
</jboss-deployment-structure> 
+0

Я думаю, что мне нужно добавить расширение в standalone.xml. Я понимаю, что то, что вы говорите, совпадает с добавлением библиотеки в файл pom. Я пытался развернуть приложение, не касаясь моей войны. –

+0

Вы можете сделать это, используя оверлеи: https://docs.jboss.org/author/display/WFLY8/Deployment+Overlays, который является способом добавления/замены файла в войне без его фактического изменения – ehsavoie