IGNITE-9727: Fixed ignite.sh and ignite.bat scripts to support Java 9+. This closes #4871.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/46fe9ed0 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/46fe9ed0 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/46fe9ed0 Branch: refs/heads/ignite-5797 Commit: 46fe9ed02f1b78b51bb970a04909bfd4d5892cbd Parents: b44c1d2 Author: tledkov-gridgain <[email protected]> Authored: Wed Oct 3 13:09:17 2018 +0300 Committer: devozerov <[email protected]> Committed: Wed Oct 3 13:09:17 2018 +0300 ---------------------------------------------------------------------- bin/ignite.bat | 48 +++++++++++++++++++++++++++++++------------ bin/ignite.sh | 37 +++++++++++++++++++++++++-------- bin/include/functions.sh | 5 ----- 3 files changed, 64 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/46fe9ed0/bin/ignite.bat ---------------------------------------------------------------------- diff --git a/bin/ignite.bat b/bin/ignite.bat index 25c828f..31c9769 100644 --- a/bin/ignite.bat +++ b/bin/ignite.bat @@ -49,10 +49,10 @@ for /f "tokens=* USEBACKQ" %%f in (`%cmd% -version 2^>^&1`) do ( ) :LoopEscape -set var=%var:~14% -set var=%var:"=% -for /f "tokens=1,2 delims=." %%a in ("%var%") do set MAJOR_JAVA_VER=%%a & set MINOR_JAVA_VER=%%b +for /f "tokens=1-3 delims= " %%a in ("%var%") do set JAVA_VER_STR=%%c +set JAVA_VER_STR=%JAVA_VER_STR:"=% +for /f "tokens=1,2 delims=." %%a in ("%JAVA_VER_STR%.x") do set MAJOR_JAVA_VER=%%a & set MINOR_JAVA_VER=%%b if %MAJOR_JAVA_VER% == 1 set MAJOR_JAVA_VER=%MINOR_JAVA_VER% if %MAJOR_JAVA_VER% LSS 8 ( @@ -63,13 +63,6 @@ if %MAJOR_JAVA_VER% LSS 8 ( goto error_finish ) -if %MAJOR_JAVA_VER% GTR 9 ( - echo %0, WARNING: - echo The version of JAVA installed in %JAVA_HOME% was not tested with Apache Ignite. - echo Run it on your own risk or point JAVA_HOME variable to installation of JDK 1.8 or JDK 9. - echo You can also download latest JDK at http://java.com/download. -) - :: Check IGNITE_HOME. :checkIgniteHome1 if defined IGNITE_HOME goto checkIgniteHome2 @@ -181,9 +174,9 @@ if "%JMX_PORT%" == "" ( :: "%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr "1\.[7]\." > nul if %ERRORLEVEL% equ 0 ( - if "%JVM_OPTS%" == "" set JVM_OPTS=-Xms1g -Xmx1g -server -XX:+AggressiveOpts -XX:MaxPermSize=256m + if "%JVM_OPTS%" == "" set JVM_OPTS=-Xms1g -Xmx1g -server -XX:MaxPermSize=256m ) else ( - if "%JVM_OPTS%" == "" set JVM_OPTS=-Xms1g -Xmx1g -server -XX:+AggressiveOpts -XX:MaxMetaspaceSize=256m + if "%JVM_OPTS%" == "" set JVM_OPTS=-Xms1g -Xmx1g -server -XX:MaxMetaspaceSize=256m ) :: @@ -235,7 +228,36 @@ if "%MAIN_CLASS%" == "" set MAIN_CLASS=org.apache.ignite.startup.cmdline.Command :: :: Final JVM_OPTS for Java 9+ compatibility :: -if %MAJOR_JAVA_VER% GEQ 9 set JVM_OPTS=--add-exports java.base/jdk.internal.misc=ALL-UNNAMED --add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-exports java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-modules java.xml.bind %JVM_OPTS% +if "%MAJOR_JAVA_VER%" == "8" ( + set JVM_OPTS= ^ + -XX:+AggressiveOpts ^ + %JVM_OPTS% +) + +if %MAJOR_JAVA_VER% GEQ 9 if %MAJOR_JAVA_VER% LSS 11 ( + set JVM_OPTS= ^ + -XX:+AggressiveOpts ^ + --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED ^ + --add-exports=java.base/sun.nio.ch=ALL-UNNAMED ^ + --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED ^ + --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED ^ + --add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED ^ + --illegal-access=permit ^ + --add-modules=java.transaction ^ + --add-modules=java.xml.bind ^ + %JVM_OPTS% +) + +if "%MAJOR_JAVA_VER%" == "11" ( + set JVM_OPTS= ^ + --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED ^ + --add-exports=java.base/sun.nio.ch=ALL-UNNAMED ^ + --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED ^ + --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED ^ + --add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED ^ + --illegal-access=permit ^ + %JVM_OPTS% +) if "%INTERACTIVE%" == "1" ( "%JAVA_HOME%\bin\java.exe" %JVM_OPTS% %QUIET% %RESTART_SUCCESS_OPT% %JMX_MON% ^ http://git-wip-us.apache.org/repos/asf/ignite/blob/46fe9ed0/bin/ignite.sh ---------------------------------------------------------------------- diff --git a/bin/ignite.sh b/bin/ignite.sh index c7b7318..8ef040c 100755 --- a/bin/ignite.sh +++ b/bin/ignite.sh @@ -90,7 +90,7 @@ fi # ADD YOUR/CHANGE ADDITIONAL OPTIONS HERE # if [ -z "$JVM_OPTS" ] ; then - JVM_OPTS="-Xms1g -Xmx1g -server -XX:+AggressiveOpts -XX:MaxMetaspaceSize=256m" + JVM_OPTS="-Xms1g -Xmx1g -server -XX:MaxMetaspaceSize=256m" fi # @@ -149,15 +149,36 @@ fi # javaMajorVersion "${JAVA_HOME}/bin/java" -if [ $version -gt 8 ]; then - JVM_OPTS="--add-exports java.base/jdk.internal.misc=ALL-UNNAMED \ - --add-exports java.base/sun.nio.ch=ALL-UNNAMED \ - --add-exports java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED \ - --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \ - --add-modules java.xml.bind \ - ${JVM_OPTS}" +if [ $version -eq 8 ] ; then + JVM_OPTS="\ + -XX:+AggressiveOpts \ + ${JVM_OPTS}" + +elif [ $version -gt 8 ] && [ $version -lt 11 ]; then + JVM_OPTS="\ + -XX:+AggressiveOpts \ + --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \ + --add-exports=java.base/sun.nio.ch=ALL-UNNAMED \ + --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED \ + --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \ + --add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \ + --illegal-access=permit \ + --add-modules=java.transaction \ + --add-modules=java.xml.bind \ + ${JVM_OPTS}" + +elif [ $version -eq 11 ] ; then + JVM_OPTS="\ + --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \ + --add-exports=java.base/sun.nio.ch=ALL-UNNAMED \ + --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED \ + --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \ + --add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \ + --illegal-access=permit \ + ${JVM_OPTS}" fi + ERRORCODE="-1" while [ "${ERRORCODE}" -ne "130" ] http://git-wip-us.apache.org/repos/asf/ignite/blob/46fe9ed0/bin/include/functions.sh ---------------------------------------------------------------------- diff --git a/bin/include/functions.sh b/bin/include/functions.sh index dbeee11..bc8187a 100755 --- a/bin/include/functions.sh +++ b/bin/include/functions.sh @@ -84,11 +84,6 @@ checkJava() { echo "Please point JAVA_HOME variable to installation of JDK 1.8 or JDK 9." echo "You can also download latest JDK at http://java.com/download" exit 1 - elif [ $version -gt 9 ]; then - echo "$0, WARNING:" - echo "The $version version of JAVA installed in JAVA_HOME=$JAVA_HOME was not tested with Apache Ignite." - echo "Run it on your own risk or point JAVA_HOME variable to installation of JDK 1.8 or JDK 9." - echo "You can also download JDK at http://java.com/download" fi }
