weblogic 文件上传 io 问题(org.apache.commons.io.FileUtils.copyInputStreamToFile )

在将JavaWeb项目从Tomcat迁移到Weblogic后,发现使用FileUtils.copyInputStreamToFile()进行文件上传时出现错误。错误信息为java.lang.NoSuchMethodError。解决方法是在WEB-INF下添加weblogic.xml配置文件,让Weblogic优先加载项目lib下的相关jar包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:

我现在有一个JavaWeb项目,在tomcat上完美运行,无任何bug。 当我把项目部署到weblogic上了之后,其他功能都正常,上传文件功能挂掉了。 我使用的是 common-io 中的 FileUtils.copyInputStreamToFile() 方法实现的上传。 
调试时报错信息如下:

java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.copyInputStreamToFile(Ljava/io/InputStream;Ljava/io/File;)


解决方法:

在项目 WEB-INF 新增一个文件:weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.8/weblogic-web-app.xsd">
    <wls:weblogic-version>12.2.1</wls:weblogic-version>
    <wls:context-root>schoolSafe</wls:context-root>
    <wls:container-descriptor>
        <wls:prefer-application-packages>
            <wls:package-name>org.apache.commons.io.*</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>
</wls:weblogic-web-app>


该配置文件的 作用是 让weblogic 优先加载 我们lib下面的这个jar包



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值