java – 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?

解决方法

I want to use commons-net-2.0.jar from my code.

WebLogic使用父类加载器第一个策略,您基本上有两个选项来调整此行为:

>在weblogic.xml中使用prefer-web-inf-classes元素Web应用程序部署描述符(在WEB-INF旁边的web.xml)〜或〜
>将您的战争内幕人员打包成EAR,并使用您在weblogic-application.xml描述符(在meta-inf旁边的application.xml中配置)中配置的WebLogic Filtering classloader,

以下是一个weblogic.xml示例:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app
 xmlns="http://www.bea.com/ns/weblogic/90"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic- web-app.xsd">
    <container-descriptor>
        <prefer-web-inf-classes>true</prefer-web-inf-classes>
     </container-descriptor>
</weblogic-web-app>

以下是一个weblogic-application.xml示例:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
    <application-param>
        <param-name>webapp.encoding.default</param-name>
        <param-value>UTF-8</param-value>
    </application-param>
    <prefer-application-packages>
        <package-name>javax.jws.*</package-name>
    </prefer-application-packages>
</weblogic-application>

一个选项更简单,但对于webapp而言是全局的.如果您目前没有使用EAR包装,但是提供了更好的控制,后来引入了更多的复杂性.

也可以看看

> Understanding WebLogic Server Application Classloading

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量