今天用Eclipse的Tomcat运行Web项目没有任何问题,
但单独导出War包用Tomcat运行就报CannotLoadBeanClassException
一大堆找不到各种类。
最后发现问题是JDK版本不一致导致。
CannotLoadBeanClassException 这个是类加载异常,
开发时用的是eclipse的jdk 类加载器,
而单独使用Tomcat时
tomcat默认是使用系统变量JAVA_HOME的jdk版本,如果需要更换,可以在配置文件手动指定。
在bin\catalina.bat和bin\setclasspath.bat文件,记事本打开编辑,开头的空白处加上:
set JAVA_HOME=D:\jdk\jdk1.8.0_31
set JRE_HOME=D:\jdk\jdk1.8.0_31\jre
当然JDK要对应你项目使用的JDK了。