【问题标题】:gradle CompileJava task is not respecting the (source|target)Compatibility properties, java.lang.UnsupportedClassVersionError: bad major versiongradle CompileJava 任务不尊重(源|目标)兼容性属性,java.lang.UnsupportedClassVersionError: bad major version
【发布时间】:2014-02-14 02:02:43
【问题描述】:

我正在尝试编译一个与 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 变量。

  1. 这是 gradle 中的错误吗?
  2. 有没有更好的办法?

【问题讨论】:

    标签: java compiler-construction gradle


    【解决方案1】:

    哈哈。一分钟我问这个问题,下一分钟我解决了。原因是因为我通过 git bash 终端调用 gradle 脚本,该终端设置了它自己的 java_home 变量。当我打开 vanilla 命令提示符并运行构建时,该任务引发 Java 1.6 错误(菱形语法异常)。没关系:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-17
      • 2021-10-01
      • 2021-11-03
      • 2015-11-15
      • 2022-10-17
      相关资源
      最近更新 更多