1

我需要从 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 类的访问权限。我已经尝试了各种可以从论坛消息中提取的点点滴滴,但到目前为止没有任何效果。

4

1 回答 1

1

尝试将以下代码作为依赖项添加到您的 jboss-deployment-structure.xml 文件中。

<system export="true">
        <paths>
            <path name="com/sun/image/codec"/>
        <paths>
<system export="true">
于 2013-02-25T20:09:26.443 回答