关于java:任务’:compileJava’的执行失败。 >无效的源发布:1.7

Execution failed for task ':compileJava'. > invalid source release: 1.7

我在用 :

  • gradle-2.3
  • javac -version = 1.7
  • jre = 1.7
  • regedit显示它指向1.7。
  • 但是我仍然低于错误

    Execution failed for task ':compileJava'. > invalid source release: 1.7

    请让我知道如何解决它。


    您说您正在使用Java 7运行,但是您真的确定吗?

    因为据我所知,错误恰恰发生在使用gradle运行的JVM不支持的源/目标级别时。因此,如果我要猜测,我会说gradle似乎认为您的JDK不支持Java 7(因此它的JDK 6或更低版本)

    也许仔细检查一下

    a)Gradle本身与JDK 7一起运行。如果使用STS gradle工具在Eclipse中运行gradle,它将使用工作区默认的JRE运行gradle。检查它至少是一个JDK7。(转到" Windows >>首选项>> Java >>已安装的JRE"。带有'复选标记'的JRE将与Gradle一起运行)。

    b)如果Gradle找到了环境变量" JAVA_HOME",它可能会意外地拾取另一个JDK进行编译。因此,请仔细检查它是否指向JDK 6或更低版本。


    您可以通过在项目中添加" gradle.properties"文件来设置gradle使用的JDK版本。添加以下属性:

    1
    org.gradle.java.home = <Path to the JDK you want to use for your project>

    我同意前面的回答,您还应该检查JDK和sourceCompatibility是否匹配。


    检查$ JAVA_HOME是否真的指向默认的Java
    # echo $JAVA_HOME
    /usr/lib/jvm/java-1.7.0-openjdk
    # java -version
    openjdk版本" 1.8.0_151"
    如果像上面那样未对齐,则修改/ etc / profile中的$ JAVA_HOME(或者在用户主目录中的.profile / .bashprofile /中)
    让我们指向JAVA_HOME = / usr / lib / jvm / java-1.8.0-openjdk
    顺便说一句:在Centos7解决,以修复无效的发行版1.8


    在构建gradle中尝试以下操作:

    1
    2
    3
    4
    apply plugin: 'java'

    sourceCompatibility = JavaVersion.VERSION_1_7
    targetCompatibility = JavaVersion.VERSION_1_7

    如果这不起作用,请提供build.gradle的内容。


    刚遇到1.8 Java的"错误"

    解决:Findbugs在方法标题中给我显示ü(不允许在graddle中使用)


    在我的情况下,Gradle在JRE而不是JDK上运行(JAVA_HOME的设置错误)。
    将我的JAVA_HOME指向JDK的根目录修复了该构建。
    (当然,假设您的PATH具有%JAVA_HOME%\ bin)

    原因:

    JDK具有用于编译Java的javac,而JRE没有。