[java] Gradle에 특정 JDK 버전을 사용하도록하려면 어떻게해야합니까?

이 작업을 수행 할 수 없습니다.

대본:

  • gradle로 빌드 된 응용 프로그램이 있습니다
  • 응용 프로그램은 JavaFX를 사용합니다

내가 원하는 것

  • 전체 애플리케이션 / 테스트 / 빌드에 사용될 JDK 설치를 가리키는 변수 (개발자 시스템에 따라 정의 됨)를 사용하십시오.

gradle.properties변수를 정의하고 파일을 갖는 것에 대해 생각했습니다 . 같은 것

JAVA_HOME_FOR_MY_PROJECT=<path to my desired JDK>

내가 원하지 않는 것

  • 지적 JAVA_HOME원하는 JDK에

나는 많은 제안으로 살 수 있습니다.

  • build.gradle 스크립트에서 확인할 수있는 시스템 환경 변수를 정의하는 솔루션
  • gradle.properties에 정의 된 변수
  • 빌드 컨텍스트에 대해서만 JAVA_HOME 변수를 대체합니다 (예 use JAVA_HOME=<my special JDK path defined somewhere else defined>:
  • 내가 생각하지 못한 다른 것

질문:

  • 변수를 ( gradle.properties시스템 환경 변수에 변수 로 정의 된 방법 ) 빌드 프로세스에 연결하는 방법은 무엇입니까?

사용 가능한 JDK7이 두 개 이상 있으며 특수 버전 (최소 JDK_u 버전)을 가리켜 야합니다.

모든 답변에 감사 드리며 올바른 방향으로의 모든 힌트에 감사드립니다.



답변

두 가지 방법

  1. 에서 gradle.properties에서 .gradle귀하의 디렉토리 HOME_DIRECTORY설정org.gradle.java.home=/path_to_jdk_directory

또는:

  1. 당신의 build.gradle

    compileJava.options.fork = true
    compileJava.options.forkOptions.executable = /path_to_javac

답변

gradle.properties 에 JDK_PATH를 추가하면 빌드가 해당 특정 경로에 종속됩니다. 대신 다음 명령 줄 매개 변수를 사용하여 gradle 작업 을 실행하십시오.

gradle build -Dorg.gradle.java.home=/JDK_PATH

이렇게하면 빌드가 구체적인 경로에 의존하지 않습니다.


답변

Maven 속성 maven.compiler.source(또는 <source>1.8</source>)에 해당하는 Gradle을 검색 할 때 여기에 끝나는 사람들에게 :

build.gradle에서는 다음을 통해이를 달성 할 수 있습니다

apply plugin: 'java'
sourceCompatibility = 1.8
targetCompatibility = 1.8

이에 대한 Gradle 설명서를 참조하십시오 .


답변

gradle wrapper를 사용하여 실행하는 경우 다음과 같이 JDK 경로로 명령을 실행할 수 있습니다

./gradlew -Dorg.gradle.java.home=/jdk_path_directory


답변

Linux 및 gradle 래퍼를 사용하는 경우 다음 솔루션을 사용할 수 있습니다.

local.properties 파일에 경로를 추가하십시오.

javaHome=<path to JDK>

gradlew 스크립트 파일에 추가하십시오.

DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
source $DIR/local.properties 2>/dev/null

if ! [ -z "$javaHome" ]
then
  JAVA_HOME=$javaHome
fi

이 솔루션에서 각 개발자는 자신의 JDK 경로를 설정할 수 있습니다. local.properties버전 관리 시스템에 파일 을 포함해서는 안됩니다.


답변

GRADLE_HOME / bin / gradle 파일에이 줄을 추가했습니다.
export JAVA_HOME=/path/to/java/version


답변

따라야 할 옵션이 하나 더 있습니다. gradle 작업에서 원하는 jdk 경로를 설정할 수 있습니다. (질문이 게시 된 지 얼마되지 않아서이 답변이 도움이 될 수 있습니다.)

배포 또는 다른 작업을 마우스 오른쪽 버튼으로 클릭하고 “Open Gradle Run Configuration …”을 선택하십시오.

여기에 이미지 설명을 입력하십시오

그런 다음 “Java Home”으로 이동하여 원하는 Java 경로를 붙여 넣으십시오.

여기에 이미지 설명을 입력하십시오

bin은 gradle 작업 자체에 의해 추가됩니다. 따라서 경로에 “bin”을 추가하지 마십시오.