具有特定jdk的Gradle构建项目

时间:2016-10-29 11:57:15

标签: java grails gradle build.gradle

我正在使用带有多个Grails插件的Grails项目(grails 2.3.11)。除了一些用户定义的Grails插件和核心Java项目之外,一个主要的Grails项目创建了一个完整的应用程序。到目前为止,这些项目是使用Ant构建器构建的。最近升级的构建过程使用Gradle。

gradle过程的问题是某些项目需要使用jdk 1.7构建,而某些项目需要使用jdk 1.8构建。为了解决这个问题,我已经将java_home设置为指向jdk 1.7。然后在项目目录中创建了gradle.properties文件,该文件需要使用jdk 1.8构建代码。已将属性org.gradle.java.home设置为指向jdk 1.8。现在当我从这样的项目中打印java_home值时,我发现它仍在选择jdk 1.7(设置为环境变量)。

这里是我的gradle compileJava任务:

compileJava {
    options.encoding = 'UTF-8'
    def env = System.getenv("JAVA_HOME")
    println "Compile Java: JAVAHOME = ${env}"
    dependsOn ':core:updateversiondotjava'
    logging.captureStandardOutput LogLevel.DEBUG
}

使用1.7构建的项目都是Grails项目和Grails用户定义的插件。使用1.7构建它们的原因是为了避免grails版本升级。因为grails 2.3.x或更低版本不支持Java 1.8。

任何人都可以指导我在哪里做错了吗?

1 个答案:

答案 0 :(得分:0)

我记得在我的测​​试中运行Java 8的Grails 2.3.11。 Grails 2.3的早期版本没有在Java 8上运行。我理解官方支持从2.4.x开始,但您是否尝试过使用2.3.11应用程序的Java 8?