Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
任务';的执行失败:编译ejava'&燃气轮机;无效的源版本:1.7_Java_Build.gradle_Gradle Eclipse - Fatal编程技术网

任务';的执行失败:编译ejava'&燃气轮机;无效的源版本:1.7

任务';的执行失败:编译ejava'&燃气轮机;无效的源版本:1.7,java,build.gradle,gradle-eclipse,Java,Build.gradle,Gradle Eclipse,我正在使用: gradle-2.3 javac-version=1.7 jre=1.7 regedit显示它指向1.7 但我还是在犯错误 任务“:compileJava”的执行失败。“>无效的源版本:1.7 请告诉我如何修复它。在您的构建梯度中尝试以下操作: apply plugin: 'java' sourceCompatibility = JavaVersion.VERSION_1_7 targetCompatibility = JavaVersion.VERSION_1_7 如果这不起

我正在使用:

  • gradle-2.3
  • javac-version=1.7
  • jre=1.7
  • regedit显示它指向1.7
  • 但我还是在犯错误

    任务“:compileJava”的执行失败。“>无效的源版本:1.7


    请告诉我如何修复它。

    在您的构建梯度中尝试以下操作:

    apply plugin: 'java'
    
    sourceCompatibility = JavaVersion.VERSION_1_7
    targetCompatibility = JavaVersion.VERSION_1_7
    

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

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

    因为据我所知,当您使用运行gradle的JVM不支持的源/目标级别时,就会发生错误。因此,如果我想猜测一下,我会说gradle似乎认为您的JDK不支持Java7(因此它的JDK6或更低版本)

    也许再检查一下

    a) Gradle本身正在使用JDK 7运行。如果您使用STS-gradle工具在Eclipse中运行gradle,它将使用工作区默认的JRE来运行gradle。检查它是否至少是JDK 7。(转到“Windows>>首选项>>Java>>已安装的JRE”。带有“复选标记”的JRE是Gradle将运行的JRE)


    b) 如果Gradle发现一个环境变量“JAVA_HOME”,它可能会意外地选择另一个JDK来编译东西。因此,请仔细检查它是否指向JDK 6或更低版本。

    您可以通过向项目中添加“gradle.properties”文件来设置gradle用于构建的JDK版本。添加以下属性:

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

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

    在我的例子中,Gradle在JRE上运行,而不是在JDK上运行(错误的JAVA_HOME设置)。 将我的JAVA_指向JDK的根修复了构建。 (当然,假设您的路径有%JAVA\u HOME%\bin)

    原因:

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

    只是有1.8Java的“bug”


    已解决:Findbugs在方法标题(graddle中不允许)中向我显示了anü,以检查$JAVA_HOME是否真的指向默认JAVA
    #echo$JAVA_HOME
    /usr/lib/jvm/java-1.7.0-openjdk
    #java-版本
    openjdk版本“1.8.0_151” 如果如上所述未对齐,则修改/etc/profile(或者用户主目录中的.profile/.bashprofile/)中的$JAVA_HOME 让我们指向JAVA_HOME=/usr/lib/jvm/JAVA-1.8.0-openjdk
    顺便说一句:在Centos7解决了修复无效的1.8版的问题

    我也遇到了同样的错误,你能帮我处理这个gradle构建[link]()吗?在我的例子中,路径是正确的,但是JAVA_主页是错误的。在我的例子中,我的IntelliJ项目有JAVA 1.8,但gradle JVM是1.7。在Preferences和everything Now中更改了Gradle JVM,这让我找到了根本原因:升级JDK后,我忘了在
    Ctrl+Alt+S/Build Tools/Gradle/Gradle JVM
    中设置Gradle JVM。