如何在application.xml中为EAR指定模块的类路径

时间:2011-02-18 23:59:28

标签: java-ee weblogic classpath ear

所以我有一个包含我所有模块的EAR。所有模块使用的共享JAR都放在EAR的默认./lib/文件夹中。我还有一个JAR文件的多个版本,每个模块将使用一个版本。例如,如果我的EAR中有以下战争:

project1.war
project2.war
project3.war

我有几个JAR文件:

common-classes-1.0.jar
common-classes-1.1.jar

那么,如何将project1与common-classes-1.0.jar相关联,将project2和project3与common-classes-1.1.jar相关联?

提前致谢

2 个答案:

答案 0 :(得分:1)

你不能;除非您的应用服务器具有允许您执行此操作的非标准扩展,否则EAR对其类路径没有那么精细的控制级别。

这是OSGi专为此设计的用例,但标准的JavaEE EAR无法做到这一点。

您最简单的选择是将您的EAR分成2个,其中一个包含project1.warcommon-classes-1.0.jar,另一个包含project2.warproject3.warcommon-classes-1.1.jar

答案 1 :(得分:1)

或者,您可以“重新打包”您的战争文件以包含所需的公共Jars。通过这种方式,您可以保留一个EAR文件。