在静态模块中引用org.jboss.resteasy的正确JBoss模块依赖是什么?

时间:2018-02-20 18:55:32

标签: resteasy jboss6.x jboss-modules

我正在尝试部署一个使用resteasy的静态模块,该模块预先安装为系统模块:

[me@localhost:3 modules]$ ls -l system/layers/base/org/jboss/resteasy/resteasy-jaxrs/main/
total 660K
-rw-r--r-- 1 coer2 admin 7.7K Jun  2  2017 async-http-servlet-3.0-2.3.10.Final-redhat-1.jar
-rw-r--r-- 1 coer2 admin 2.1K Mar 27  2015 module.xml
-rw-r--r-- 1 coer2 admin 646K Jun  2  2017 resteasy-jaxrs-2.3.10.Final-redhat-1.jar

但是我引用它的尝试失败了。我的模块看起来像:

<?xml version="1.0" ?>

<resources>
    <resource-root path="."/>
    <resource-root path="JWTAUTHENTICATOR-SNAPSHOT.jar"/>
</resources>

<dependencies>
    <module name="org.jboss.resteasy-jaxrs"/>
    <module name="javax.servlet.api"/>
    <module name="javax.security.jacc.api"/>
    <module name="org.jboss.logging"/>
    <module name="org.picketbox"/>
    <module name="org.picketlink.federation"/>
    <module name="org.picketlink.federation.bindings"/>
    <module name="javax.api"/>
    <module name="javax.persistence.api"/>
    <module name="javax.resource.api"/>
    <module name="javax.security.auth.message.api"/>
    <module name="javax.transaction.api"/>
    <module name="javax.xml.bind.api"/>
    <module name="javax.xml.stream.api"/>
    <module name="org.infinispan"/>
    <module name="org.jboss.as.web"/>
    <module name="org.slf4j"/>
</dependencies>

以下产生的日志输出如下:

  

Java HotSpot(TM)64位服务器VM警告:忽略选项MaxPermSize = 256m;支持在8.0中删除   11:47:53,135 ERROR [org.jboss.msc.service.fail](MSC服务主题1-7)MSC000001:无法启动服务jboss.web.valve.JWTAUTHENTICATOR:服务中的org.jboss.msc.service.StartException jboss.web.valve.JWTAUTHENTICATOR:org.jboss.modules.ModuleNotFoundException:org.jboss.resteasy-jaxrs:main   引起:org.jboss.modules.ModuleNotFoundException:org.jboss.resteasy-jaxrs:main

模块doc中的表3.1表明此配置应该足够,但之前对静态模块依赖性的经验让我不会感到惊讶,因为它没有。

我怀疑它不是关于这个特定的模块,也许是缺少重复性需求的依赖。不幸的是,jboss模块文档没有提供此信息。非常感谢洞察力。

谢谢, 罗宾

1 个答案:

答案 0 :(得分:0)

答案是包命名空间映射到目录结构,因此需要将要添加的特定模块附加到包命名空间:

<module name="org.jboss.resteasy.resteasy-jaxrs"/>