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

时间:2015-05-26 06:23:26

标签: java build.gradle gradle-eclipse

我正在使用:

  1. gradle-2.3
  2. javac -version = 1.7
  3. jre = 1.7
  4. regedit显示它指向1.7。
  5. 但我仍然低于错误

      

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

    请让我知道如何修复它。

6 个答案:

答案 0 :(得分:5)

你说你正在运行Java 7,但你确定吗?

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

也许仔细检查一下

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

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

答案 1 :(得分:3)

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

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

我同意之前的回答,你也应该检查JDK和sourceCompatibility是否匹配。

答案 2 :(得分:1)

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

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

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

答案 3 :(得分:0)

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

原因

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

答案 4 :(得分:0)

刚刚使用1.8 java的“bug”

解决:Findbugs在方法标题中显示了一个ü(不允许在graddle中)

答案 5 :(得分:0)

检查$ JAVA_HOME是否真的指向默认的java # echo $JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk # java -version openjdk版本&#34; 1.8.0_151&#34; 如果未按上述方式错位,则修改/ etc / profile中的$ JAVA_HOME(或者在用户的主目录中修改.profile / .bashprofile /) 让我们指向JAVA_HOME = / usr / lib / jvm / java-1.8.0-openjdk 顺便说一句:在Centos7解决了修复无效版本1.8