java 指定 version - 特定のJDKバージョンを使用するようにGradleに指示するにはどうすればよいですか?
5
Answers
java_home
私はこれを得るために把握することができません。
シナリオ:
- 私はgradleで構築されたアプリケーションを持っています
- アプリケーションはJavaFXを使用します
私が望むもの
- アプリケーション/テスト/アプリケーション全体を構築するために使用されるJDKのインストールを指す変数(開発者マシンごとに定義された)を使用します。
変数を定義するgradle.properties
ファイルがあると思った。 何かのようなもの
JAVA_HOME_FOR_MY_PROJECT=<path to my desired JDK>
私が望まないもの
-
JAVA_HOME
を目的のJDKにポイントする
私は多くの提案で生きることができました:
- 私のbuild.gradleスクリプトでチェックできるシステム環境変数を定義するソリューション
- gradle.propertiesで定義された変数
- ビルド・コンテキスト(
use JAVA_HOME=<my special JDK path defined somewhere else defined>
ようなもの)のためだけにJAVA_HOME変数をオーバーライドする - 私が考えなかった何か
質問:
- どのように変数を(どのように定義され、
gradle.properties
、システム環境変数の変数として...)ビルドプロセスに配線するのですか?
私は複数のJDK7を利用でき、特別なバージョン(最小JDK_uバージョン)を指す必要があります。
すべての答えは高く評価されており、正しい方向へのヒントがあれば感謝しています。
163 votes
java
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
をバージョン管理システムに含めるべきではありません。
java2
160
私はGradle 4.2を使用しています。 デフォルトのJDKはJava 9です.Java 9の初期に、Gradle 4.2はJDK 8上で正しく動作します(JDK 9ではなく)。
私はJDKをファイル%GRADLE_HOME%\bin\gradle.bat
手動で設定しています:
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%..
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
@rem VyDN-start.
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_144\
@rem VyDN-end.
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
@rem VyDN-start.
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_144\
@rem VyDN-end.
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\lib\gradle-launcher-4.2.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.launcher.GradleMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
java3
159
自動的にJDKをダウンロード/ブートストラップするGradleプラグインがあります:
https://plugins.gradle.org/plugin/com.github.rmee.jdk-bootstrap
IDEはまだ統合されておらず、Windowsではまともなシェルが必要です。
java4
158