2013-03-12 281 views
2

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

+0

你为什么不把它们打包与您的应用程序? – 2013-03-12 13:25:00

+0

因为它们不仅在jBoss上被EJB使用,而且在tomcat上也被一些网络应用使用 – Blebleskeble 2013-03-21 15:25:54

回答

3

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

1

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

在你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 
+0

那么如果你需要添加一个专门用于服务器本身以及没有webapp/WEB-INF的jar,无应用程序? – 2015-03-27 17:20:10

+0

@ArjanTijms为服务器本身?不明白你的意思。 – NimChimpsky 2015-03-27 17:25:58

+0

JACC和JASPIC都要求包含授权和验证模块的罐子放在“服务器的类路径”中。特别是对于JACC,服务器应该在任何应用程序存档部署之前尽早引用您的类。在早期的服务器中,你把你的jar放在一些server/lib和/或使用“-cp [你的jar的位置]。 – 2015-03-27 17:33:14