이 작업을 수행 할 수 없습니다.
대본:
- 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 버전)을 가리켜 야합니다.
모든 답변에 감사 드리며 올바른 방향으로의 모든 힌트에 감사드립니다.
답변
두 가지 방법
- 에서
gradle.properties
에서.gradle
귀하의 디렉토리HOME_DIRECTORY
설정org.gradle.java.home=/path_to_jdk_directory
또는:
-
당신의
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