java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils when deploying web application
java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils when deploying web application
运行 JBOSS EAP 6.4.0.GA (AS 7.5.0.Final-redhat-21) 在 Windows 7.
Commons lang is 部署在路径中
.\jboss-eap-6.4\modules\system\layers\base\org\apache\commons\lang\main\commons-lang-2.6.0.redhat-4.jar 和 module.xml 在同一文件夹中表示
<module xmlns="urn:jboss:module:1.1" name="org.apache.commons.lang">...
根据 Red Hat,在我的 Web 应用程序的 META-INF/MANIFEST.MF 中,我有条目:
Dependencies: org.apache.commons.lang
我使用 Netbeans 8.0.2 调试应用程序,但无法启动并出现错误:
[org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/TestApp]] (ServerService Thread Pool -- 62)
JBWEB000287: Exception sending context initialized event to listener
instance of class com.netu.test.web.ContextListener: java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
at com.xxx.lib.db.ConnectionPoolSetter.setJdbcURL
(ConnectionPoolSetter.java:81)
所以我收到有关 Jboss 未找到 class StringUtils 的错误,但 class 是 in commons lang。请注意,我不想在我的 Web 应用程序 WEB-INF/lib 中部署 commons lang。我想使用安装在 JBoss.
中的模块
我做错了什么?
- 在 /WEB-INF
中创建一个 jboss-deployment-structure.xml
添加以下内容XML:
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
<dependencies>
<module name="org.apache.commons.lang" export="true" services="import" meta-inf="import"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
运行 JBOSS EAP 6.4.0.GA (AS 7.5.0.Final-redhat-21) 在 Windows 7. Commons lang is 部署在路径中 .\jboss-eap-6.4\modules\system\layers\base\org\apache\commons\lang\main\commons-lang-2.6.0.redhat-4.jar 和 module.xml 在同一文件夹中表示
<module xmlns="urn:jboss:module:1.1" name="org.apache.commons.lang">...
根据 Red Hat,在我的 Web 应用程序的 META-INF/MANIFEST.MF 中,我有条目:
Dependencies: org.apache.commons.lang
我使用 Netbeans 8.0.2 调试应用程序,但无法启动并出现错误:
[org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/TestApp]] (ServerService Thread Pool -- 62)
JBWEB000287: Exception sending context initialized event to listener
instance of class com.netu.test.web.ContextListener: java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
at com.xxx.lib.db.ConnectionPoolSetter.setJdbcURL
(ConnectionPoolSetter.java:81)
所以我收到有关 Jboss 未找到 class StringUtils 的错误,但 class 是 in commons lang。请注意,我不想在我的 Web 应用程序 WEB-INF/lib 中部署 commons lang。我想使用安装在 JBoss.
中的模块我做错了什么?
- 在 /WEB-INF 中创建一个 jboss-deployment-structure.xml
添加以下内容XML:
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2"> <deployment> <dependencies> <module name="org.apache.commons.lang" export="true" services="import" meta-inf="import"/> </dependencies> </deployment> </jboss-deployment-structure>