Weblogic 10.3.1.0正在使用com.bea.core.apache.commons.net_1.0.0.0_1-4-1.jar …我想从我的代码中使用commons-net-2.0.jar
Weblogic 10.3.1.0正在使用com.bea.core.apache.commons.net_1.0.0.0_1-4-1.jar …我想从我的代码中使用commons-net-2.0.jar。
如何强制它仅在我的代码中使用较新的JAR?
我想从我的代码中使用commons-net-2.0.jar。
WebLogic使用父类加载器第一策略 ,您基本上有两个选项来调整此行为:
- 在
weblogic.xml
Web应用程序部署描述符(位于web.xml
旁边的WEB-INF中)中使用prefer-web-inf-classes元素〜或〜 - 将您的war内部包装到EAR中并使用您在
weblogic-application.xml
描述符中配置的WebLogic Filtering类加载器 (位于application.xml
旁边的META-INF中)
这是一个weblogic.xml示例:
true
以下是weblogic-application.xml的示例:
webapp.encoding.default UTF-8 javax.jws.*
前一个选项更简单,但对于webapp是全局的。 如果您目前没有使用EAR包装但是提供更好的控制,后者会引入更多复杂性。
也可以看看
- 了解WebLogic Server应用程序类加载
您是否尝试将所需的JAR放在WAR的\ WEB-INF \ lib,EAR的\ APP-INF \ lib或EAR文件的\ lib目录中?
如果您的项目是一个独立的Web项目(没有EJB),那么将JAR放在WEB-INF \ lib中就足够了。 对于可能具有捆绑在EAR文件中的EJB模块和Web模块的企业应用程序,APP-INF \ lib应该可以工作,尽管我不太确定WebLogic Server对库目录的支持(通常是EAR文件中的\ lib目录) ,但有时可以通过application.xml配置)Java EE 5中提出的概念。
编辑 :在应用程序服务器的库在应用程序中存在的库之前加载的情况下,WebLogic Server的过滤类加载器的function将有助于确保应用程序始终从其类路径而不是服务器的类路径加载正确的类。
- 如何访问源文件夹中的Jar文件?
- ClassNotFoundException在修改后的SimpleShortestPathsVertex上运行GiraphRunner
- Java SPI – ServiceLoader – 将多个JAR添加到APP类路径
- 类路径问题:使用Maven Antrun插件运行ant java任务
- 确定Matlab加载的java类的位置
- Jar hell:如何在运行时使用类加载器将一个jar库版本替换为另一个jar库版本
- 从命令行运行包中的java
- 执行Mavenunit testing,并将classpath设置为生成的项目JAR
- 如何在netbeans中添加java classpath