如何在JBoss的Web应用程序之间共享库

时间:2011-11-17 15:08:59

标签: java java-ee jboss classpath

我在JBoss上部署了10个Web应用程序。每个人在web-inf / lib中都有大约20个罐子......其中大部分在每个Web应用程序中都是相同的。

将所有这些相同的库添加到每个WAR文件中是很繁琐的。我宁愿在所有应用程序中共享这些库。所以我想将所有这些jar文件放在一个所有Web应用程序都可以引用它们的地方。

另外,我只希望这10个Web应用程序中的5个引用这些共享jar文件,我想选择哪些应用程序引用这些共享库。

如何实现这一目标?

3 个答案:

答案 0 :(得分:1)

我建议使用Maven来管理您的依赖项。

答案 1 :(得分:0)

将jar放在[JBOSS SERVER] / lib目录中,因此这些库可用于此服务器下的所有应用程序。或者thread可以解决您的问题。

答案 2 :(得分:0)

您可以将公共jar放入某个位置并在运行时提供路径

-Djboss.server.lib.url=file://shared/lib/path

对于您希望webapp / lib中的jar覆盖文件中的一个的所有应用程序:// shared / lib / path配置jboss-web.xml

Scoped Class Isolation

<jboss-web>
   <class-loading> 
      <loader-repository>com.example:archive=unique-archive-name</loader-repository> 
   </class-loading>
</jboss-web>

使用覆盖服务器类进行隔离

<jboss-web>
   <class-loading java2ClassLoadingCompliance="false">
      <loader-repository>
         com.example:archive=unique-archive-name
         <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
      </loader-repository>
   </class-loading>
 ...

有关详细信息,请参阅http://community.jboss.org/wiki/ClassLoadingConfiguration