我有多个Grails插件的Grails项目(grails 2.3.11)。一个主要的Grails项目以及一些用户定义的Grails插件和核心Java项目创建了一个完整的应用程序。到目前为止,这些项目都是使用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。
谁能指导我做错了什么?
最佳答案
我记得在测试中在Java 8上运行的Grails 2.3.11。 Grails 2.3的早期版本无法在Java 8上运行。我知道官方支持始于2.4.x,但是您是否在2.3.11应用程序中尝试过Java 8?
关于java - 具有特定JDK的Gradle构建项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40318830/