为什么80%的码农都做不了架构师?>>>
上一篇博文中提到通过替换weblogic自带的commons-fileupload.jar来解决FileUpload类的NoSuchMethodError问题。在完成替换后,该问题得到顺利解决,但是也会引发其他的一些问题,下面提到的这个问题就跟commons-fileupload.jar的替换有关系。
现象
weblogic替换了commons-fileupload.jar后,系统中原先的导入功能运行报错:
java.lang.ClassNotFoundException:org.apache.commons.io.output.DeferredFileOutPutStream
分析
由于是类找不到的异常,所以检查有没有类似weblogic自带的commoms-io包版本过低的问题,经过一番检查后,发现weblogic都没提供该jar。应用程序包提供的commons-io包又不存在版本问题。一个头疼的问题。纠其原因还是对weblogic的类加载机制不太清楚。
最后网上提到一个说法,weblogic在加载commons-fileupload.jar前需要先加载commons-io.jar
解决办法
由于我的weblogic环境实在启动文件中通过CLASSPATH来指定commons-fileupload.jar的加载,所以在CLASSPATH中指定commons-io.jar,并且至于commons-fileupload.jar之前就可以了。