0

我已经将一个 Web 应用程序项目下载到我的 Mac OSX 10.8.2 上,并且我正在使用 Apacheant来编译它。当应用程序运行时,我收到此错误,尝试编译和执行 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)

如何检查类文件的 ant 编译版本并解决此问题?

4

2 回答 2

3

这个问题是因为你在较高版本的java上编译了代码,然后在较低版本的java上运行代码。通常,服务器附带他们自己的 JVM 版本。因此,查找服务器使用的 jvm 的一种方法是检查服务器的启动日志。它应该显示 jvm 版本。

于 2013-02-08T12:16:24.447 回答
2

UnsupportedClassVersionError 主要是因为运行和编译版本之间的java版本不匹配。

两个版本应该匹配以避免错误 GO 通过以下链接获取有关 ant 版本更改的更多详细信息。

为什么 Ant 给我一个 Unsupported major.minor 版本错误

于 2013-02-09T05:04:25.747 回答