我需要从 JBoss 7 默认隐藏的 rt.jar 访问 com.sun.image.codec 类。我的 modules/sun/jdk/main/module.xml 已更新为包含 com/sun/image:
<module xmlns="urn:jboss:module:1.1" name="sun.jdk">
<resources>
<!-- currently jboss modules has not way of importing services from
classes.jar so we duplicate them here -->
<resource-root path="service-loader-resources"/>
</resources>
<dependencies>
<system export="true">
<paths>
<path name="com/sun/image/codec"/>
<path name="com/sun/script/javascript"/>
<path name="com/sun/jndi/dns"/>
<path name="com/sun/jndi/ldap"/>
<path name="com/sun/jndi/url"/>
<path name="com/sun/jndi/url/dns"/>
<path name="com/sun/security/auth"/>
<path name="com/sun/security/auth/login"/>
<path name="com/sun/security/auth/module"/>
<path name="sun/misc"/>
<path name="sun/io"/>
<path name="sun/nio"/>
<path name="sun/nio/ch"/>
<path name="sun/security"/>
<path name="sun/security/krb5"/>
<path name="sun/util"/>
<path name="sun/util/calendar"/>
<path name="sun/util/locale"/>
<path name="sun/security/provider"/>
<path name="META-INF/services"/>
</paths>
<exports>
<include-set>
<path name="META-INF/services"/>
</include-set>
</exports>
</system>
</dependencies>
在我的耳朵里,我有 META-INF/MANIFEST.MF:
Manifest-Version: 1.0
Dependencies: sun.jdk export
为了更好地衡量,我在启动时添加了 -Djboss.modules.system.pkgs。
我尝试将 MANIFEST.MF 移动到耳朵内的应用程序罐内,但也没有用。图像处理代码位于无状态会话 bean 中,因此它不在战争中,而是在耳中的罐子里。
我没有看到关于任何官方 JBoss 文档源的清晰的最新文档,或者任何提供解决方案的实用程序,或者专门讨论获得对默认隐藏的 rt.jar 类的访问权限。我已经尝试了各种可以从论坛消息中提取的点点滴滴,但到目前为止没有任何效果。