从JBoss 7.1引用依赖项Jar文件时出错

从JBoss 7.1引用依赖项Jar文件时出错,jboss,module,jboss7.x,noclassdeffounderror,Jboss,Module,Jboss7.x,Noclassdeffounderror,根据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

根据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 
我对JBoss7中的这个新模块概念非常陌生。你知道这里有什么问题吗

谢谢大家!

关于我尝试做什么的详细信息:

我希望能够使这个依赖项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>
该应用程序是一个war文件,我将其部署在部署文件夹下,并创建了一个.war.dodeploy文件。我在启动JBoss服务器时遇到这个异常

有什么想法吗


谢谢

您需要查看模块所需的依赖项。对于当前的错误消息,它看起来需要依赖于SAX。您可能应该将
javax.api
(这是SAX所在的模块)的依赖项添加到module.xml中

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="common_libs.test">
    <resources>
        <resource-root path="test.jar"/>
    </resources>

    <dependencies>
        <module name="javax.api"/>
    </dependencies>
</module>


您需要为共享库所需的任何依赖项添加依赖项。

您需要查看模块所需的依赖项。对于当前的错误消息,它看起来需要依赖于SAX。您可能应该将
javax.api
(这是SAX所在的模块)的依赖项添加到module.xml中

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="common_libs.test">
    <resources>
        <resource-root path="test.jar"/>
    </resources>

    <dependencies>
        <module name="javax.api"/>
    </dependencies>
</module>


您需要为共享库所需的任何依赖项添加依赖项。

在module.xml中添加对javax.api的依赖项,它应该可以工作

正如您所提到的,您对本模块的概念还不熟悉。对我们所做的解释太少了。 使用JBoss AS7x架构,我们使用模块为应用程序提供JAR/类。其中之一是它减轻了战争

我们为JAR创建模块,module.xml是一个描述符,充当模块的ID/bio,告诉服务器模块中的内容
标记

这个模块依赖于什么
标签

对于我们的大部分模块,我们在javax.api上添加了一个依赖项,以便模块能够编译。为什么?我记不起来了,小心点。当你知道的时候,加上评论


希望这有帮助:-)

在module.xml中添加对javax.api的依赖,它应该可以工作

正如您所提到的,您对本模块的概念还不熟悉。对我们所做的解释太少了。 使用JBoss AS7x架构,我们使用模块为应用程序提供JAR/类。其中之一是它减轻了战争

我们为JAR创建模块,module.xml是一个描述符,充当模块的ID/bio,告诉服务器模块中的内容
标记

这个模块依赖于什么
标签

对于我们的大部分模块,我们在javax.api上添加了一个依赖项,以便模块能够编译。为什么?我记不起来了,小心点。当你知道的时候,加上评论


希望这有帮助:-)

你能再解释一下你做了什么吗?您是否正在尝试创建一个模块来进行全球共享?您能否再解释一下您所做的工作?您是否正在尝试创建一个模块以进行全局共享?还有一个问题。我设法将jar打包到模块中。然而,当我尝试访问部署在localhost中的web服务时,我在获取WSDL定义消息时出错。我可以通过浏览器访问WSDL,以及我在JBoss 5.x和6.x中使用的相同客户端代码,该代码与本地主机中托管的相同服务相同,不会出现这样的错误。为了通过servlet访问web服务,我需要在JBoss7中进行其他配置吗?不需要这样的特定配置。应该是一些类路径问题。ejb.jar是否在web inf/lib中?您能从控制台提供确切的堆栈错误吗?如果你能的话,我能帮上更多的忙。RegardsIt是我得到的一个服务查找异常,即使web服务已经启动并且可以通过浏览器/其他客户端访问。在JBoss的早期版本中,我也没有将ejb.jar添加到WEB-INF/lib中,为什么我必须这样做?不确定为什么我们需要在lib中添加ejb.jar。我自己在过去也遇到过类似的问题,从JBossCommunity的一些人那里得到了帮助,他们告诉我将ejb.jar添加到lib中(原因是:创建webservice端点需要它)。请尝试将其添加到您的库中,看看是否有效。关于另一个问题。我设法将jar打包到模块中。然而,当我尝试访问部署在localhost中的web服务时,我在获取WSDL定义消息时出错。我可以通过浏览器访问WSDL,以及我在JBoss 5.x和6.x中使用的相同客户端代码,该代码与本地主机中托管的相同服务相同,不会出现这样的错误。为了通过servlet访问web服务,我需要在JBoss7中进行其他配置吗?不需要这样的特定配置。应该是一些类路径问题。ejb.jar是否在web inf/lib中?您能从控制台提供确切的堆栈错误吗?如果你能的话,我能帮上更多的忙。RegardsIt是我得到的一个服务查找异常,即使web服务已经启动并且可以通过浏览器/其他客户端访问。在JBoss的早期版本中,我也没有将ejb.jar添加到WEB-INF/lib中,为什么我必须这样做?不确定为什么我们需要在lib中添加ejb.jar。我自己在过去也遇到过类似的问题,从JBossCommunity的一些人那里得到了帮助,他们告诉我将ejb.jar添加到lib中(原因是:创建webservice端点需要它)。请尝试将其添加到您的库中,看看是否有效。当做