如何在WebLogic中设置JAR的顺序?

在我的应用程序中,我正在使用Joda-Time 2.0,但是在我的WebLogicpath中有Joda-Time 1.2库。

如何更改顺序并告诉WebLogic使用我的库? 现在它正在使用自己的库,而不是我的。 我刚刚添加了一个Maven项目依赖Joda-Time 2.0。

有几种方法可以做到这一点。

  1. 在您的域的bin文件夹中更改您的startWeblogic.cmd(sh),查找类path设置并在任何其他WebLogic jar之前添加新的joda
  2. 如上所述,如果应用程序是一个Web应用程序,并且select更喜欢战争中的任何lib,则可以更改weblogic.xml。
  3. 如果您正在使用企业应用程序,则可以在weblogic-application.xml中设置以下选项:

    <prefer-application-packages> <package-name>org.apache.*</package-name> <package-name>antlr.*</package-name> </prefer-application-packages> 

并在那里设置你的包名称为乔达。

请注意,第一个选项可能会导致WebLogic的奇怪行为。

请注意,由于某些原因,我无法让代码使用XML。

当你的class级出现在你的战争中时,WEB-INF / lib,

你可以尝试使用weblogic.xml设置强制WEB-INF / lib类加载优先于在服务器/ lib

 <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor>