Switch JDK version in Windows 10 cmd

前端 未结 4 1106
北恋
北恋 2021-02-04 09:32

Is there a way to change JDK version easily in cmd? like the version on mac. Change Default JDK on Mac.

相关标签:
4条回答
  • 2021-02-04 10:08

    In "System Properties" window, click “Environment Variables…” and select PATH by click on Edit, then "New" and type ;%JAVA_HOME%\bin

    It will write the JAVA_HOME defined. Just to edit one time.

    And after you define JAVA_HOME by the cmd commande : set JAVA_HOME = path_of_jdk_or_jre whenever you want.

    0 讨论(0)
  • 2021-02-04 10:20

    I created scripts for every version of Java that I have installed on my PC, and use those whenever I need to change the Java version through the command line. Here is an example of one, should be self-explanatory really:

    @echo off
    echo Setting JAVA_HOME
    set JAVA_HOME=C:\Program Files\Java\jdk-10
    echo setting PATH
    set PATH=C:\Program Files\Java\jdk-10\bin;%PATH%
    echo Display java version
    java -version
    
    0 讨论(0)
  • 2021-02-04 10:23

    Here's my guide for Windows 10.

    Step 1. Go to System Properties. Click on Environment Variables

    Step 2. Add new variables, such as JAVA_8_HOME

    • JAVA_8_HOME:%ProgramFiles%\Java\jdk1.8.0_152\bin
    • JAVA_9_HOME:%ProgramFiles%\Java\jdk-9.0.1\bin
    • JAVA_HOME:%JAVA_8_HOME%

    In my case, JAVA_8_HOME(JDK8) is pointing to C:\Program Files\Java\jdk1.8.0_152\bin. You can replace this with your own path to javac. %JAVA_HOME% has a default value pointing to JAVA_8_HOME, which is the path for JDK8. That's my preference, feel free to adjust accordingly.

    Step 3. Select PATH and click on Edit. PATH

    Step 4. Click on New and add %JAVA_HOME%. %JAVA_HOME% will be added to PATH automatically every time you launch a command prompt.


    In order to switch JDK version in cmd, here's the trick. Step 5. I created a batch file with

    @echo off
    :: Switch JDK version
    DOSKEY java8=SET PATH=%JAVA_8_HOME%;%PATH%;
    DOSKEY java9=SET PATH=%JAVA_9_HOME%;%PATH%
    

    Basically, it disables echo and creates two alias. In batch file any string after :: is the comments. Every time, java8 or java9 is called, it re-exports %PATH% with the new JDK path. Save it as profile.bat. You can name it whatever you want.

    Step 6. Search for regedit (Registry Editor). Click on Edit > New > String Value. Give AutoRun as the Value name and %USERPROFILE%\profile.bat as the Value data. Here, please put your actual path value to the profile.bat we just created. So, whenever a command prompt is opened, it automatically loads profile.bat, which creates those two alias in the script.

    Step 7. Close any command prompt you're using or just open a new command prompt. This is because your changes will not affect opened cmd window. Environment changes only happens to new CMD.

    Step 8. Verify your results here.

    If you're using different Python versions, same trick applies, too. Find my python environment settings here.

    0 讨论(0)
  • 2021-02-04 10:25

    Create a folder (in my case it is in C:\devenv) and create a batch file and name it after the version (jdk8.bat, jdk9.bat, jdk10.bat, jdk11.bat etc..) then add this commands. You just need to change the set JAVA_HOME to the location of the jdk version. Add the location of the batch files (C:devenv) to the path on the environment variables

    @echo off
    set JAVA_HOME=C:\Program Files\Java\jdk-11.0.9
    set PATH=%JAVA_HOME%\bin;%PATH%
    @echo Display Java Version
    java -version
    

    You can run it on cmd by just typing the batch name (e.g jdk11)

    0 讨论(0)
提交回复
热议问题