diff --git a/src/universal/bin/sbt-launch-lib.bash b/src/universal/bin/sbt-launch-lib.bash index f51460a2a..c66f5e849 100755 --- a/src/universal/bin/sbt-launch-lib.bash +++ b/src/universal/bin/sbt-launch-lib.bash @@ -154,13 +154,6 @@ process_args () { ## parses 1.7, 1.8, 9, etc out of java version "1.8.0_91" java_version=$("$java_cmd" -Xmx512M -version 2>&1 | sed 's/.*version "\([0-9]*\)\(\.[0-9]*\)\{0,1\}\(.*\)*"/\1\2/; 1q') vlog "[process_args] java_version = '$java_version'" - rtexport=$(rt_export_file) - sbt_global_dir=$("$java_cmd" ${JAVA_OPTS} ${SBT_OPTS:-$default_sbt_opts} ${java_args[@]} \ - -jar "$rtexport" --global-base) - java9_ext=$(echo "$sbt_global_dir/java9-rt-ext") - java9_rt=$(echo "$java9_ext/rt.jar") - vlog "[process_args] sbt_global_dir = '$sbt_global_dir'" - vlog "[process_args] java9_rt = '$java9_rt'" } # Detect that we have java installed. @@ -187,21 +180,27 @@ checkJava() { } copyRt() { - if [[ "$java_version" > "8" ]] && [[ ! -f "$java9_rt" ]]; then - echo Copying runtime jar. - execRunner "$java_cmd" \ - ${JAVA_OPTS} \ - ${SBT_OPTS:-$default_sbt_opts} \ - ${java_args[@]} \ - -jar "$rtexport" \ - "${java9_rt}" - fi if [[ "$java_version" > "8" ]]; then + rtexport=$(rt_export_file) + sbt_global_dir=$("$java_cmd" ${JAVA_OPTS} ${SBT_OPTS:-$default_sbt_opts} ${java_args[@]} \ + -jar "$rtexport" --global-base) + java9_ext=$(echo "$sbt_global_dir/java9-rt-ext") + java9_rt=$(echo "$java9_ext/rt.jar") + vlog "[copyRt] sbt_global_dir = '$sbt_global_dir'" + vlog "[copyRt] java9_rt = '$java9_rt'" + if [[ ! -f "$java9_rt" ]]; then + echo Copying runtime jar. + execRunner "$java_cmd" \ + ${JAVA_OPTS} \ + ${SBT_OPTS:-$default_sbt_opts} \ + ${java_args[@]} \ + -jar "$rtexport" \ + "${java9_rt}" + fi addJava "-Dscala.ext.dirs=${java9_ext}" fi } - run() { # no jar? download it. [[ -f "$sbt_jar" ]] || acquire_sbt_jar "$sbt_version" || { diff --git a/src/universal/bin/sbt.bat b/src/universal/bin/sbt.bat index 4411697a1..a02088a23 100644 --- a/src/universal/bin/sbt.bat +++ b/src/universal/bin/sbt.bat @@ -115,15 +115,6 @@ if /I %ERRORLEVEL% EQU 0 (set JAVA_VERSION=1.6) findstr /c:"version \"1.5" "%TEMP%.\out.txt" if /I %ERRORLEVEL% EQU 0 (set JAVA_VERSION=1.5) -set rtexport=%SBT_HOME%java9-rt-export.jar - -"%_JAVACMD%" %_JAVA_OPTS% %SBT_OPTS% -jar "%rtexport%" --global-base > "%TEMP%.\global_base.txt" -set /p sbt_global_dir= < "%TEMP%.\global_base.txt" -set java9_ext=%sbt_global_dir%\java9-rt-ext -set java9_rt=%java9_ext%\rt.jar - -echo %java9_rt% - exit /B 0 :checkjava @@ -143,6 +134,13 @@ exit /B 1 :copyrt if /I "%JAVA_VERSION%" GEQ "9" ( + set rtexport=%SBT_HOME%java9-rt-export.jar + + "%_JAVACMD%" %_JAVA_OPTS% %SBT_OPTS% -jar "%rtexport%" --global-base > "%TEMP%.\global_base.txt" + set /p sbt_global_dir= < "%TEMP%.\global_base.txt" + set java9_ext=%sbt_global_dir%\java9-rt-ext + set java9_rt=%java9_ext%\rt.jar + if not exist "%java9_rt%" ( echo Copying runtime jar. mkdir "%java9_ext%"