我用JDK 7
. 我使用 Tomcat 作为 servlet 容器。但它使用的是旧版本的JVM 1.6
.
现在我有一个错误Unsupported major.minor version
。
我必须改变哪一个?
- Tomcat的JVM
或者
- 我的mac的JDK?如何更改 JDK 仅用于使用一个文件的 cmd-line 进行编译?
运行 Tomcat 的 Java 版本应该是该版本的 Tomcat 支持的版本。检查上面的文档,或者只使用您正在使用的文档。
您用于编译的版本应该是相同的版本,至少对于相同的 major.minor 数字。
你真的应该使用相同的版本来运行 Tomcat 以及你所有的开发和测试以及构建和单元测试运行等等。它只是让一切变得更容易,并摆脱浪费你时间的微妙错误。
这两种方法中的任何一种都可以。更改 tomcatJAVA_HOME
会很简单,因为它不需要重新编译代码(假设您拥有的 Tomcat 与 Java 6 兼容)。
您可以简单地JAVA_HOM
将您的 tomcat .bat 文件中的 E 指向您机器上的 Java 6 位置。
在这两个选项中,降级运行 Tomcat 的 JVM 可能更容易(或者选择一个不同的选项,因为 Mac OS 允许多个并行 JVM 安装)。
另一种选择是使用“-target 1.6”重新编译代码,这将编译.class
可由 Java 1.6 虚拟机运行的文件。这是一个更好的 IMO 解决方案,因为这样您以后的构建也将被 1.6 JVM 接受。
使用 Java 1.6 重新编译,问题应该会消失。