【问题标题】:Adding of external jar file into classpath for jBoss 7将外部 jar 文件添加到 jBoss 7 的类路径中
【发布时间】:2013-02-27 23:06:40
【问题描述】:

我想将外部 jar 文件包含到 jBoss7 的所有配置的类路径中。 有什么方法可以做到这一点,而无需将我的文件移动到 jboss lib 目录中的某处?或者更好 - 有没有办法将所有 jar 文件包含在某个外部目录中?

【问题讨论】:

  • 为什么不将它们打包到您的应用程序中?
  • 因为它们不仅被 jBoss 上的 EJB 使用,还被 tomcats 上的一些 Web 应用程序使用

标签: jar classpath external jboss7.x


【解决方案1】:

有一个名为modules 的目录,您可以在其中放置您的罐子。但要知道如何做到这一点,您应该阅读this 指南。您还可以创建一个可供所有部署访问的全局模块。看thisdoc。

【讨论】:

    【解决方案2】:

    没有答案实际上概述了在这里做什么,所以就这样吧。

    在您的jboss-deployment-structure.xml 文件中,应该在webapp/WEB-INF 中,您需要添加模块引用:

    <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
        <deployment>
            <dependencies>
                <module name="javaee.api">
                    <imports>
                        <exclude path="org/apache/xml/security/**" />
                    </imports>
                </module>
                <module name="com.sun.xml.bind" slot="main" />
                <module name="com.mycompany.mypackage" slot="1_0" />
                <module name="com.oracle.ojdbc14" slot="main" />    
            </dependencies>
        </deployment>
    </jboss-deployment-structure>
    

    然后将jar文件复制到这个目录:

    C:\[JBoss-Home]\modules\com\mycompany\mypackage\1_0
    

    【讨论】:

    • 那么如果你需要添加一个用于服务器本身并且没有 webapp/WEB-INF 的 jar,因为没有应用程序呢?
    • @ArjanTijms 用于服务器本身?不知道你的意思。
    • JACC 和 JASPIC 都要求将包含授权-分别身份验证模块的 jar 放在“服务器的类路径”中。特别是对于 JACC,服务器应该在部署任何应用程序存档之前很早就引用您的类。在早期的服务器中,您将 jar 放在某个服务器/lib 中和/或使用“-cp [位置到您的 jar]。
    猜你喜欢
    • 2013-08-27
    • 2016-07-10
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    相关资源
    最近更新 更多