你的位置:首页 > Java教程

[Java教程]命令行编译的class文件在Myeclipse的服务器上产生UnsupportedClassVersionError的解决办法


假设我们已经在命令行里面把java文件编译成class文件了。然后把它布置到tomcat服务器上,则我们可以看到服务器的控制台上会出现以下信息

其中我们关心的一行是

严重: Exception invoking periodic operation: 

java.lang.UnsupportedClassVersionError: FirstServlet2 : Unsupported major.minor version 52.0 (unable to load class FirstServlet2)

此时我通过浏览器访问原来在该文件夹里面我能访问的文件都会出现错误。

也就是说我存放了class文件的路径//localhost/linshaolong即我WEB-INF的外层文件夹下的所有文件都不能通过浏览器访问,初步断定是加了该class文件后导致整个文件夹都没有配置到服务器里面

 

然后我们回过头来看java.lang.UnsupportedClassVersionError这个错误,大致意思是不支持的calss文件版本错误。查了一下是高版本的JDK编译的java class文件试图在较低的版本的JVM上运行导致的错误。

通过java -version,我查到我的命令行的jdk版本是1.8.0-65

而打开我的myeclipse的配置服务器的JDK版本是jdk7.则可知是因为服务器运行的jdk版本太低导致部署不成功。

 

则此时我们有两种方法可以解决:

1.找个jdk8以上的Myeclipse版本(活在梦里)

2.把java文件放到Myeclipse里编译一下。

也就是把java文件拖到项目里,保存一下,然后到对应存放class文件的文件夹找一下。(如果你一开始手动码的java文件是缺省包的,就要放在Myeclipse项目的缺省包下保存。)

然后把编译好的class文件放回原来的WEB-INF的classes文件夹里。配好web.

然后就发现可以运行了。

 

嗯。差不多就是这些。。。想到再补充。。。