我根据此处的 stackoverflow 问题中提供的说明从 JBoss 7.1 模块中引用了一个 jar 文件。我在 JBoss 5.x、6.x 中使用过这个 jar,没有任何问题。但是,当我尝试在 JBoss 7.1 中部署引用上述 jar 的 war 文件时,它给了我以下错误:
15:59:19,220 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]. [/Max_client]] (MSC service thread 1-2) StandardWrapper.Throwable: java.lang
NoClassDefFoundError: org/xml/sax/SAXException
at com.systinet.wasp.webservice.ServiceClientImpl.lookup(ServiceClientImpl.java:556) [wasp.jar:]
at com.systinet.wasp.webservice.ServiceClientImpl.createProxy(ServiceClientImpl.java:437) [wasp.jar:]
at org.systinet.wasp.webservice.Registry.lookup(Registry.java:168) [wasp.jar:]
at MyServlet.init(MyServlet.java:103) at javax.servlet.GenericServlet.init(GenericServlet.java:242) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Fi
al]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3655) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3873) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_35]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_35]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_35]
Caused by: java.lang.ClassNotFoundException: org.xml.sax.SAXException from [Module "commons.wasp:main" from local module loader @2adb1d4 (roots: c:\jboss-as-7.1.1
Final\modules)]
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.performLoadClassChecked(ConcurrentClassLoader.java:423)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
... 15 more
我对 JBoss 7 中的这个新模块概念非常陌生。知道这里有什么问题吗?
谢谢!
有关我尝试做的事情的详细信息:
我希望能够使这个依赖 jar 在全球范围内可用。所以我所做的是创建了一个文件夹结构 modules/common_libs/test/main 并将所需的 jar 放入其中。然后创建了模块描述符module.xml:
<module xmlns="urn:jboss:module:1.1" name="common_libs.test">
<resources>
<resource-root path="test.jar"/>
</resources>
</module>
然后在我需要访问这个 jar 的应用程序中,我在 MANIFEST.MF 中添加:
Dependencies: common_libs.test
该应用程序是一个 war 文件,我将它部署在部署文件夹下,并创建了一个 .war.dodeploy 文件。启动 JBoss 服务器时出现此异常。
任何想法,任何人?
谢谢!