我正在尝试编译一个与Java 1.6兼容的应用程序,并认为这样做我必须将targetCompatibility设置为'1.6',但是当我部署应用程序时(appserver使用jvm 1.6运行)并尝试启动它,我得到以下例外:
java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=com/foo/SomeClass, offset=6
我的JAVA_HOME设置为1.7,但是我维护了两个源代码分支,一个支持java 1.7,另一个支持1.6,所以每次切换上下文时都不必设置JAVA_HOME变量。
答案 0 :(得分:0)
洛尔。一分钟我问这个问题,下一分钟我解决了。原因是因为我通过git bash终端调用gradle脚本,该终端设置了自己的java_home变量。当我打开一个vanilla命令提示符并运行构建时,该任务引发了Java 1.6错误(钻石语法异常)。没关系:)