因为功能的需要,在项目中新加了一个servlet类,在本地调试好后,上传至服务器,一启动容器就报如下的错误:
很奇怪的问题,服务器上有很多servlet类,就新添加的这个报错;并且在自己电脑的MyEclipse上面运行也很正常,没有任何问题,新加的servlet也可以正常访问,但是服务器上就是不行,检查了很多遍,类,包,路径 都 没问题,甚至换了类名重写也是一样报错,网上找了很久相关资料都是关于jar包,路径,或web.xml配置方面的,都没用
公司linux服务器上WEB容器使用的是resin,使用 java -version 发现服务器上的JDK版本为1.4的然而我们通常使用的JDK都 是1.5或1.6的,如果把整个项目的JDK换成1.4的也不可能,因为有些JAR包或函数必须要用1.4以上的JDK才行。所以解决办法就是把项目的编译级别设置为1.4:
MyEclipse中右击项目-->"Properties"-->"Java Compiler" ,选中"Enable project specific setting","Compiler compliance level" 设置为 1.4
问题完美解决了
即:编译JDK不能高于运行JDK版本
com.caucho.config.LineConfigException:
WEB-INF/web.xml:140: `com.xy.servlet.TzServlet' is not a known servlet. Servlets belong in the classpath, often in WEB-INF/classes.
很奇怪的问题,服务器上有很多servlet类,就新添加的这个报错;并且在自己电脑的MyEclipse上面运行也很正常,没有任何问题,新加的servlet也可以正常访问,但是服务器上就是不行,检查了很多遍,类,包,路径 都 没问题,甚至换了类名重写也是一样报错,网上找了很久相关资料都是关于jar包,路径,或web.xml配置方面的,都没用
公司linux服务器上WEB容器使用的是resin,使用 java -version 发现服务器上的JDK版本为1.4的然而我们通常使用的JDK都 是1.5或1.6的,如果把整个项目的JDK换成1.4的也不可能,因为有些JAR包或函数必须要用1.4以上的JDK才行。所以解决办法就是把项目的编译级别设置为1.4:
MyEclipse中右击项目-->"Properties"-->"Java Compiler" ,选中"Enable project specific setting","Compiler compliance level" 设置为 1.4
问题完美解决了
即:编译JDK不能高于运行JDK版本