weblogic10.3.4与应用 jar包冲突 java.lang.NoSuchMethodError

来源:互联网 发布:赵薇收购万家文化知乎 编辑:程序博客网 时间:2024/05/16 14:02

在tomcat上部署web应用,测试一切正常,迁移到weblogic上之后就出现了问题,换了生产环境的数据库。

功能是将数据写入数据库,同时还需要上传附件。
开始怀疑是数据库的问题,后来测试数据库也是正常的,可以正常读写。

于是开始怀疑weblogic ,在weblogic的日志文件中看到

<[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <af2f485f3f5f761c:33748c76:1363908d34b:-8000-0000000000000055> <1332397123373> <BEA-000000> <java.lang.NoSuchMethodError: org/apache/commons/fileupload/FileUpload.setSizeMax(I)V>

因为在tomcat上运行是正常就不可能是jar没有加载进来,只可能是与weblogic自带的jar产生了冲突。
在/bea/weblogic/modules中找到与FileUpload相关的jar包,备份,删除。

重启weblogic,一切正常,OK!

启动的过程中可能会出现如下的异常,不用管它,应为在应用中已经加载了相应的jar包。

java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException        at java.lang.Class.getDeclaredConstructors0(Native Method)        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)        at java.lang.Class.getConstructor0(Class.java:2699)        at java.lang.Class.newInstance0(Class.java:326)        at java.lang.Class.newInstance(Class.java:308)        Truncated. see log file for complete stacktrace



原创粉丝点击