【问题标题】:java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException in JBoss AS 7java.lang.NoClassDefFoundError:JBoss AS 7 中的 org/apache/commons/codec/DecoderException
【发布时间】:2013-03-12 06:37:20
【问题描述】:

我在部署之前使用在不同服务器上运行的应用程序的 .war 文件测试 JBoss AS 7。

当我尝试通过应用程序登录数据库时出现此错误:

SEVERE [] (http--0.0.0.0-8080-4) java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
java.lang.ClassNotFoundException: org.apache.commons.codec.DecoderException from [Module "deployment.app.war:main" from Service Module Loader]
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
      at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:220)

在一些论坛中,他们建议添加 commons-codec jar,但我已经在 J​​Boss 中拥有它,对吗? (在这里:jboss-as-7.1.1.Final/modules/org/apache/commons/codec/main/commons-codec-1.4.jar

OSGi 未激活,坦率地说,我不知道它的用途是什么,但是当我尝试激活它时,它会因为无法部署而扰乱我的战争......

我有 JDK,但如果有帮助的话,我没有 JRE。

【问题讨论】:

  • JBoss 确实有 commons-codec,正如您所指出的,但您的应用程序(或其任何依赖项)可能需要与服务器提供的版本不同的版本。

标签: http jboss7.x classnotfoundexception apache-commons-codec


【解决方案1】:

JBoss AS 7 默认不使用 OSGi 进行模块化类加载。它使用 JBoss 模块,因此这与 OSGi 无关。

如果你想使用 JBoss AS 7 提供的 commons-codec,你需要做的是 add a dependency 到你的部署。

【讨论】:

    【解决方案2】:

    您的人工制品类不会自动显示模块。你有三种可能:

    1. 在您的standalone.xml 中定义一个全局模块 http://javahowto.blogspot.de/2012/09/how-to-create-global-modules-in-jboss.html 您在 Jboss 上部署的所有工件都将使用此模块。
    2. 将它放入您的战争制品中,放入 lib 文件夹。您可以使用 Maven 做到这一点。
    3. 在 Manifest 中定义明确的依赖关系。 https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7 部分依赖项:清单条目

    【讨论】:

      猜你喜欢
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      • 2017-04-18
      • 1970-01-01
      • 2023-03-25
      • 2012-11-05
      • 2011-07-07
      相关资源
      最近更新 更多