Grails 프로젝트 (grails 2.3.11)에 여러 개의 Grails 플러그인이 있습니다. 하나의 메인 Grails 프로젝트는 사용자 정의 Grails 플러그인과 핵심 자바 프로젝트 외에도 완벽한 애플리케이션을 생성합니다. 지금까지이 프로젝트는 Ant 빌더를 사용하여 빌드되었습니다. 최근에 Gradle을 사용하도록 빌드 프로세스를 업그레이드했습니다.특정 jdk가있는 Gradle 빌드 프로젝트
gradle 프로세스의 문제점은 일부 프로젝트는 jdk 1.7로 빌드해야하고 일부는 jdk 1.8로 빌드해야한다는 것입니다. 이 문제를 해결하기 위해 java_home을 jdk 1.7을 가리 키도록 설정했습니다. 그런 다음 jdk 1.8으로 빌드 할 코드가 필요한 프로젝트 디렉토리에 gradle.properties 파일을 생성했습니다. 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 플러그인을 적용 할 때 gradle의 sourcecompatabity 및 targetcompatability를 사용하여이 작업을 수행 할 수 있습니다. 하위 프로젝트에 대해 서로 다른 소스 및 대상을 설정할 수 있습니다. – PKR