I have downloaded and installed oraclejdk11 from oracle official site and modified PATH & JAVA_HOME variable in system environment variable on windows
java version “1.8.0_102”
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
i know that jdk11 do not contain jre but how can i run a java program from cmd in java 11
The JDK includes the JRE which you can launch by using the
java executable in the
bin folder. You use this executable just like any other executable.
When you type
java in the command line it is actually shorthand. It searches your
PATH until it finds the first matching
java executable. If you want to specify a different
java executable you can give the absolute path to the executable.
C:UsersAvril> "C:Program FilesJavajdk-11.0.1binjava" -jar pathtofile.jar
You may be wondering, if you’ve set
PATH to point to JDK-11, why does
java -version still use Java 8?
Take a look at your
PATH and you’ll likely find something like
C:ProgramDataOracleJavajavapath as one of the first entries (see this). This entry was added automatically when you installed Java 8 and points to the Java 8 executables (
javaws). Since it’s before your
%JAVA_HOME%bin entry, it takes precedence. However,
...javapath doesn’t contain
javac and that’s why
javac -version used
JAVA_HOME (Java 11).