本人在此之前甚少接触weblogic,家里的weblogic也是第一次安装的。如果发现错误,敬请指正。
问题描述
XX局点升级weblogic为11g,重新发包出错。现在记录一下处理的各种问题总结。
错误1: apache commons某些包的方法没有找到
这是最早出现的问题,会出现类似下面的错误信息。
<2015-10-14 下午05时57分30秒 CST> <Error> <HTTP> <BEA-101017> <[ServletContext@1385406679[app:XXService module:XXService path:/XXService spec-version:2.5]] Root cause of ServletException.
java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.copyInputStreamToFile(Ljava/io/InputStream;Ljava/io/File;)V
- 原因分析
这是weblogic部署最常见的问题,因为weblogic会自带I一些commons-*的包,这些包的版本还比较旧。具体可以见WEBLOGIC_HOME/modules目录的jar包。
- 此次采用的处理方式
添加weblogic.xml并设置prefer-web-inf-classes,即优先加载web应用下的类
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
错误2: jsp使用jstl时出现SAXParserFactory的ClassCastException
这是使用prefer-web-inf-classes为true之后出现的问题,会出现类似下面的错误信息。
The validator class: "org.apache.taglibs.standard.tlv.JstlCoreTLV" has failed with the following