【发布时间】:2011-11-03 11:51:11
【问题描述】:
在我的应用程序中,我使用的是 Joda-Time 2.0,但在我的 WebLogic 路径中有库 Joda-Time 1.2。
如何更改顺序并告诉 WebLogic 使用我的库?现在它正在使用自己的库,而不是我的。我刚刚向 Joda-Time 2.0 添加了一个 Maven 项目依赖项。
【问题讨论】:
在我的应用程序中,我使用的是 Joda-Time 2.0,但在我的 WebLogic 路径中有库 Joda-Time 1.2。
如何更改顺序并告诉 WebLogic 使用我的库?现在它正在使用自己的库,而不是我的。我刚刚向 Joda-Time 2.0 添加了一个 Maven 项目依赖项。
【问题讨论】:
有几种方法可以做到这一点。
如果您使用的是企业应用程序,您可以在 weblogic-application.xml 中设置以下选项:
<prefer-application-packages>
<package-name>org.apache.*</package-name>
<package-name>antlr.*</package-name>
</prefer-application-packages>
并在那里为 joda 设置你的包名。
请注意,第一个选项可能会导致 WebLogic 出现奇怪的行为。
请注意,由于某种原因,我无法让代码与 XML 一起使用。
【讨论】:
当你的班级出现在你的战争中时,WEB-INF/lib,
您可以尝试使用 weblogic.xml 设置来强制 WEB-INF/lib 类优先于 server/lib 中的类加载
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
【讨论】: