Eclipse配置Java环境的问题

Eclipse配置Java环境的问题
问题现象:
原来的Eclipse3.2、JRE1.4环境更新为MyEclipse6.0完整安装包后原先的工程无法正常使用,控制台报错如下所示:
 1 2008 - 3 - 13   15 : 06 : 35  org.apache.catalina.core.StandardEngine start
 2 信息: Starting Servlet Engine: Apache Tomcat / 5.0 . 28
 3 2008 - 3 - 13   15 : 06 : 35  org.apache.catalina.core.StandardHost start
 4 信息: XML validation disabled
 5 2008 - 3 - 13   15 : 06 : 36  org.apache.catalina.loader.WebappClassLoader validateJarFile
 6 信息: validateJarFile(D:\workspace\dswssb_new\WEB - INF\lib\servlet - api.jar)  -  jar not loaded. See Servlet Spec  2.3 , section  9.7 . 2 . Offending  class : javax / servlet / Servlet. class
 7 2008 - 3 - 13   15 : 06 : 37  org.apache.catalina.core.StandardContext start
 8 严重: Error filterStart
 9 2008 - 3 - 13   15 : 06 : 37  org.apache.catalina.core.StandardContext start
10 严重: Context startup failed due to previous errors

然后工程在Tomcat中无法正常启动,上面的第8行提示Error filterStart错误,但是在工程中将web.xml中所有的filter相关的配置项删除,
删除后仍然是无法启动,报错依旧。 这个时候才想起来,控制台的日志不够完全,然后去查找Tomcat的日志文件夹中的日志
这里更详细,具体内容如下:
 1 2008 - 03 - 13   14 : 49 : 40  StandardContext[ / dswssb_new]Exception starting filter AuthFilter
 2 java.lang.UnsupportedClassVersionError: cn / tohot / ltax / wssb / mvc / login / AuthFilter (Unsupported major.minor version  49.0 )
 3     at java.lang.ClassLoader.defineClass0(Native Method)
 4     at java.lang.ClassLoader.defineClass(ClassLoader.java: 539 )
 5     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 123 )
 6     at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java: 1634 )
 7     at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java: 860 )
 8     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java: 1307 )
 9     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java: 1189 )
10       .....

这里面的关键部分是 Unsupported major.minor version 49.0,搜索之后发现是因为这里面的编译使用了更高版本的JRE,
然后我开始在Eclipse的Window->Reference中进行配置,配置了Java->Installed JREs,添加了1.4的JRE,问题依旧,
然后修改TOMCAT插件调用的JRE,问题依旧,倒腾了很久,依旧无法正常解决,后来考虑可能是新版的MyEclipse中自带了高版本的JRE,
于是删除高版本的JRE,还是没有解决。最后发现这里面提示的信息是指编译的文件采用了高版本的JRE,才想起来工程的编译环境的设置,
在工程的属性中,设置Java Complier中才发现,原来安装MyEclipse6.0后采用了默认的高版本的JRE编译环境,
给工程设置了独立的编译环境属性后,问题解决。
 

另外,控制台中输出的错误:
1 信息: validateJarFile(D:\workspace\dswssb_new\WEB - INF\lib\servlet - api.jar)  -  jar not loaded. See Servlet Spec  2.3 , section  9.7 . 2 . Offending  class : javax / servlet / Servlet. class
产生的原因是Tomcat自带了servlet-api.jar这个包,而工程中lib库中也有一个servlet-api.jar包,
因此导致在加载的时候冲突,Tomcat服务器没有加载工程中servlet-api.jar包,而是加载了Tomcat自带的那个。
如果需要的话,可以将Tomcat自带的包删除,不过,这里并不影响使用,可以忽略。

你可能感兴趣的:(Eclipse配置Java环境的问题)