在tomcat中,使用dom4j解析xml,运行时一直报错:java.lang.ClassNotFoundException: org.dom4j.DocumentException,最后在google上找到解决方法。
报错的原因是,我自己把dom4j-1.61.jar文件放在webContent/lib/文件夹下,网站运行时,不能找到这个jar文件。把dom4j-1.61.jar放在WebContent/WEB-INF/lib文件夹下,然后引入项目中就可以了。
tomcat对Class Load有一定的规则,并不是任意位置的jar文件都可以引用。具体说明可以参考tomact文档相关页面:http://tomcat.apache.org/tomcat-8.0-doc/class-loader-howto.html
简单总结一下tomact中,jar文件可以存放的目录:
1,$JAVA_HOME/jre/lib/ext
2,$CLASSPATH
3,
unpacked classes and resources in $CATALINA_BASE/lib
JAR files in $CATALINA_BASE/lib
unpacked classes and resources in $CATALINA_HOME/lib
JAR files in $CATALINA_HOME/lib
4,
unpacked classes and resources in the /WEB-INF/classes
JAR files under the /WEB-INF/lib