我正在尝试部署一个使用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模块文档没有提供此信息。非常感谢洞察力。
谢谢, 罗宾
答案 0 :(得分:0)
答案是包命名空间映射到目录结构,因此需要将要添加的特定模块附加到包命名空间:
<module name="org.jboss.resteasy.resteasy-jaxrs"/>