我正在使用:
但我仍然低于错误
任务执行失败':compileJava'。 >无效的源版本:1.7
请让我知道如何修复它。
答案 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