我有一个运行在JBoss 4.2中的spring mvc应用程序。我正在尝试将此Web应用程序迁移到JBoss wildfly 10(wildfly-10.0.0.Final版本)。

当我尝试部署我的应用程序时,显示以下错误:

"{\"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 / layers / 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"/>


但是我得到了同样的错误。

最佳答案

为什么要在standalone.xml中添加扩展名?
您应该使用以下命令将WEB-INF / jboss-deployment-structure.xml文件添加到您的战争中:

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

关于java - 从JBoss 4.2迁移时出现JBoss wildfly 10 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39038968/

10-15 13:23