我已经将一个web应用程序项目下载到我的Mac OSX 10.8.2上,我正在使用Apache ant
进行编译。当应用程序运行时,我遇到了这个错误,试图编译并执行JSP:
javax.servlet.ServletException: java.lang.UnsupportedClassVersionError
Unsupported major.minor version 51.0
我在网上搜索过这个问题,这个问题似乎是由编译版本与运行版本的Java不同引起的。所有建议的解决方案都是";在Eclipse中设置编译器版本;但我没有使用Eclipse。。。
这是我的环境:
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)
如何检查类文件的蚂蚁编译版本并解决此问题?
这个问题是因为您在较高版本的java上编译了代码,然后在较低版本的java中运行了代码。通常,服务器附带有自己版本的JVM。因此,查找服务器使用的jvm的一种方法是检查服务器的启动日志。它应该显示jvm版本。
UnsupportedClassVersionError主要是因为运行版本和编译版本之间的java版本不匹配。
为了避免错误,两个版本应该匹配。请通过下面的链接获取有关ant版本更改的更多详细信息。
为什么Ant给我一个不支持的主版本。minor版本错误