java.lang.NoClassDefFoundError : org/apache/commons/lang/StringUtils when deploying web application

标签 java jboss

在 Windows 7 中运行 JBOSS EAP 6.4.0.GA (AS 7.5.0.Final-redhat-21)。 Commons lang部署在路径中 .\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 ,在我的网络应用程序的 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 找不到类 StringUtils 的错误,但该类是 in commons lang 。请注意,我不想在我的 Web 应用程序的 WEB-INF/lib 中部署 commons lang。我想使用 JBoss 中安装的模块。

我做错了什么?

最佳答案

  1. 在/WEB-INF 中创建 jboss-deployment-struct.xml
  2. 添加以下 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>
    

关于java.lang.NoClassDefFoundError : org/apache/commons/lang/StringUtils when deploying web application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30502668/

相关文章:

java - 处理正则表达式中的嵌套括号

java - 为什么 "while"在普林斯顿的加权快速联合实现中使用

java - @重写困惑

java - NameNotFoundException 在生产 JBoss 中对远程 EJB 执行 JNDI 查找(在本地工作)

java - 为什么没有服务器端套接字?

动态 Web 项目的 Java 类路径

java - 是否可以拥有通用集合的集合?

java - SAX错误: incompatible types: String cannot be converted to InputSource

java - 来自 Spring 还是 JNDI 的 TransactionManager? (JBOSS + Spring 3 + Hibernate 4 + JTA)

java - org.picketlink.distribution :picketlink-jbas7:jar:2. 8.0 的 POM。缺失,没有可用的依赖信息