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

Posted

技术标签:

【中文标题】任务 \':compileJava\' 执行失败。 > 无效的源版本:1.7【英文标题】:Execution failed for task ':compileJava'. > invalid source release: 1.7任务 ':compileJava' 执行失败。 > 无效的源版本:1.7 【发布时间】:2015-08-07 16:15:15 【问题描述】:

我正在使用:

    gradle-2.3 javac -version = 1.7 jre = 1.7 regedit 显示它指向 1.7。

但我仍然遇到错误

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

请告诉我如何解决它。

【问题讨论】:

【参考方案1】:

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

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

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

【讨论】:

【参考方案2】:

您说您使用的是 Java 7,但您真的确定吗?

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

也许仔细检查一下

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

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

【讨论】:

就我而言,PATH 是正确的,但 JAVA_HOME 是错误的 在我的例子中,我的 IntelliJ 项目有 java 1.8,但 Gradle JVM 是 1.7。更改了偏好设置中的 Gradle JVM,现在一切正常【参考方案3】:

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

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

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

【讨论】:

指出根本原因:升级 JDK 后我忘记在 Ctrl+Alt+S/Build Tools/Gradle/Gradle JVM 中设置 Gradle JVM。【参考方案4】:

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

原因

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

【讨论】:

【参考方案5】:

刚刚遇到了 1.8 java 的“错误”

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

【讨论】:

【参考方案6】:

检查$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 版本

【讨论】:

以上是关于任务 ':compileJava' 执行失败。 > 无效的源版本:1.7的主要内容,如果未能解决你的问题,请参考以下文章

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

错误:Gradle:任务“:core:compileJava”执行失败。 > 编译失败

Gradle compileJava 任务警告:[options] 引导类路径未与 -source 1.6 一起设置

无法运行gradle

Spring Boot gradle build - 无效的源版本:11

错误:任务应用程序执行失败:mergeDebugResources