0

我用JDK 7. 我使用 Tomcat 作为 servlet 容器。但它使用的是旧版本的JVM 1.6.

现在我有一个错误Unsupported major.minor version

我必须改变哪一个?

  • Tomcat的JVM

或者

  • 我的mac的JDK?如何更改 JDK 仅用于使用一个文件的 cmd-line 进行编译?
4

4 回答 4

2

运行 Tomcat 的 Java 版本应该是该版本的 Tomcat 支持的版本。检查上面的文档,或者只使用您正在使用的文档。

您用于编译的版本应该是相同的版本,至少对于相同的 major.minor 数字。

你真的应该使用相同的版本来运行 Tomcat 以及你所有的开发和测试以及构建和单元测试运行等等。它只是让一切变得更容易,并摆脱浪费你时间的微妙错误。

于 2012-12-31T19:42:14.680 回答
1

这两种方法中的任何一种都可以。更改 tomcatJAVA_HOME会很简单,因为它不需要重新编译代码(假设您拥有的 Tomcat 与 Java 6 兼容)。

您可以简单地JAVA_HOM将您的 tomcat .bat 文件中的 E 指向您机器上的 Java 6 位置。

于 2012-12-31T19:40:06.160 回答
0

在这两个选项中,降级运行 Tomcat 的 JVM 可能更容易(或者选择一个不同的选项,因为 Mac OS 允许多个并行 JVM 安装)。

另一种选择是使用“-target 1.6”重新编译代码,这将编译.class可由 Java 1.6 虚拟机运行的文件。这是一个更好的 IMO 解决方案,因为这样您以后的构建也将被 1.6 JVM 接受。

于 2012-12-31T21:26:16.057 回答
0

使用 Java 1.6 重新编译,问题应该会消失。

于 2012-12-31T20:17:46.817 回答