私はこれがうまくいくかどうかわからない。
シナリオ:
欲しいもの
私は変数を定義するgradle.properties
ファイルを持つことを考えました。何かのようなもの
Java_HOME_FOR_MY_PROJECT=<path to my desired JDK>
欲しくないもの
Java_HOME
に指定します。私は多くの提案をもって生きることができました:
use Java_HOME=<my special JDK path defined somewhere else defined>
のようなもの)質問:
gradle.properties
の変数として、システム環境変数...など)をビルドプロセスに配線するにはどうすればいいですか?私は1つ以上の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 taskを実行します。
gradle build -Dorg.gradle.Java.home=/JDK_PATH
こうすればあなたの造りはある具体的な道に依存していない。
GvenleのMavenプロパティmaven.compiler.source
(または<source>1.8</source>
)に相当するものを検索するときに、ここで終わる人は、
Build.gradleではこれを実現することができます
apply plugin: 'Java'
sourceCompatibility = 1.8
targetCompatibility = 1.8
これについては Gradleのドキュメントを見てください 。
グラドルラッパーを使用して実行している場合は、次のようにJDKパスを指定してコマンドを実行できます。
./gradlew -Dorg.gradle.Java.home=/jdk_path_directory
Linuxとグラドルラッパーを使用している場合は、次の解決策を使用できます。
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
jDKを自動的にダウンロード/ブートストラップするGradleプラグインがあります。
https://plugins.gradle.org/plugin/com.github.rmee.jdk-bootstrap
WindowsではIDE統合はまだ必要なく、まともなシェルも必要ありません。
http://www.gradle.org/get-started
Gradleはあなたのパスで見つかったJDKを使用します(チェックするにはJavaバージョンを使用します)。あるいは、目的のJDKのインストールディレクトリを指すようにJava_HOME環境変数を設定することもできます。
このEclipseプラグインまたは Enide Studio 2014 を使用している場合、使用する代替のJava_HOME(Preferencesで設定)はバージョン0.15です。 http:/を参照してください。 /www.nodeclipse.org/history
特定のコマンドを実行するために一度設定したいだけであれば、
Java_HOME=/usr/lib/jvm/Java-11-Oracle/ gw build
Gradle 4.2を使っています。デフォルトのJDKはJava 9です。Java9の初期の頃は、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