场景:
我现在有一个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包