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

What is the correct JBoss module dependency to reference org.jboss.resteasy in a static module?

我正在尝试部署一个使用 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-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 11:47:53,135 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service jboss.web.valve.JWTAUTHENTICATOR: org.jboss.msc.service.StartException in service jboss.web.valve.JWTAUTHENTICATOR: org.jboss.modules.ModuleNotFoundException: org.jboss.resteasy-jaxrs:main Caused by: org.jboss.modules.ModuleNotFoundException: org.jboss.resteasy-jaxrs:main

Table 模块 doc 中的 3.1,表示此配置应该足够了,但以前对静态模块依赖项的经验让我对它没有感到惊讶。

我怀疑它不是关于这个特定模块的,而且可能是 resteasy 需要的缺失依赖项。不幸的是,jboss 模块文档没有提供此信息。希望有见识。

谢谢, 罗宾

答案是包命名空间映射到目录结构,所以具体要添加的模块需要追加到包命名空间:

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