如何告诉gradle jdk必须是1.8而不设置像蚂蚁一样的JAVA_HOME

时间:2016-04-17 19:31:13

标签: gradle

我读过这篇文章

How do I tell Gradle to use specific JDK version?

似乎忽略了这一点。开发人员应负责将自己的JAVA_HOME设置为安装它的位置,这在不同的操作系统上是不同的。

我想要的是设置哪个jdk主要版本应该像1.8一样使用,如果它们的JAVA_HOME指向1.7并且有一个很好的错误消息说它请修复你的JAVA_HOME变量就会失败。

这可以在gradle中使用吗?

重要的部分是在git repo中有一些东西,说gradle.jdk.must.be = 1.8,如果使用JAVA_HOME或者使用主目录中的gradle.properties或其他什么,它会尝试使用JAVA_HOME进行编译,如果它失败了,它应该很好地告诉他们设置JAVA_HOME或gradle.properties或其他什么。

相关文章:How to set JDK version in Gradle project WITHOUT explicit JDK path?

当有人检查某个项目时,有点令人困惑的是,当它没有编译时,他们不知道为什么没有错误告诉他们要修复什么。

感谢, 迪安

1 个答案:

答案 0 :(得分:2)

task checkJavaVersion << {
    if (!JavaVersion.current().isJava8()) {
        String message = "ERROR: Java 1.8 required but " +
                         JavaVersion.current() + 
                         " found. Change your JAVA_HOME environment variable.";
        throw new IllegalStateException(message);
    }
}

compileJava.dependsOn checkJavaVersion