java – Weblogic 10.3.1.0正在使用com.bea.core.apache.commons.net_

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

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。