我在部署之前使用在不同服务器上运行的应用程序的.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,但我已经在JBoss中使用了,对吧? (在这里:jboss-as-7.1.1.Final/modules/org/apache/commons/codec/main/commons-codec-1.4.jar
)
OSGi没有激活,坦率地说我不知道它服务的目的是什么,但是当我试图激活它时它会因为我的战争而混乱,因为它无法部署......
我有JDK,但如果有任何帮助,则没有JRE。
答案 0 :(得分:0)
JBoss AS 7默认不使用OSGi进行模块化类加载。它使用JBoss模块,因此这与OSGi无关。
如果你想使用JBoss AS 7提供的commons-codec,你需要做的就是部署add a dependency。
答案 1 :(得分:0)
您的artefact类不会自动显示模块。你有三种可能性: