【发布时间】:2018-04-05 12:32:31
【问题描述】:
我有一个 java ear 存档,其中包含“lib”文件夹,在 application.xml 中声明为库目录。
我的问题是某些模块不需要 lib 文件夹中的某些 jar。此外,我的一个模块(一个 .war 存档)在其自己的 lib 文件夹中包含一个库,该库与 .ear 中的库相比更旧。这会导致两个库之间发生冲突。
我希望我的模块仅在其自己的 lib 文件夹中定义的库进入其类路径。这可能吗?
谢谢
【问题讨论】:
我有一个 java ear 存档,其中包含“lib”文件夹,在 application.xml 中声明为库目录。
我的问题是某些模块不需要 lib 文件夹中的某些 jar。此外,我的一个模块(一个 .war 存档)在其自己的 lib 文件夹中包含一个库,该库与 .ear 中的库相比更旧。这会导致两个库之间发生冲突。
我希望我的模块仅在其自己的 lib 文件夹中定义的库进入其类路径。这可能吗?
谢谢
【问题讨论】:
很大程度上取决于您用于部署的应用服务器 - 您可以在 weblogic 中创建自定义类加载器层次结构 更多在这里-https://docs.oracle.com/cd/E24329_01/web.1211/e24368/classloading.htm#WLPRG295
对于 websphere - 您可以使用 deployment.xml 中的 PARENT_LAST 属性在一定程度上控制此层次结构。
【讨论】: