有没有办法在cmd中轻松更改JDK版本?喜欢mac上的版本。 Change Default JDK on Mac
答案 0 :(得分:4)
这是我的Windows 10指南。
步骤1.转到System Properties。点击Environment Variables
步骤2.添加新变量,例如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%
就我而言,JAVA_8_HOME
(JDK8)指向C:\Program Files\Java\jdk1.8.0_152\bin
。您可以使用自己的javac
路径替换它。 %JAVA_HOME%
的默认值指向JAVA_8_HOME
,这是JDK8的路径。这是我的偏好,可以随意调整。
步骤3.选择PATH
,然后点击Edit
。 PATH
步骤4.点击New
并添加%JAVA_HOME%。每次启动命令提示符时,%JAVA_HOME%
都会自动添加到PATH
。
为了在cmd中切换JDK版本,这就是诀窍。 步骤5.我使用
创建了一个批处理文件@echo off
:: Switch JDK version
DOSKEY java8=SET PATH=%JAVA_8_HOME%;%PATH%;
DOSKEY java9=SET PATH=%JAVA_9_HOME%;%PATH%
基本上,它会禁用echo并创建两个别名。在批处理文件中,::
之后的任何字符串都是注释。每次调用java8
或java9
时,它都会使用新的JDK路径重新导出%PATH%。将其另存为profile.bat
。您可以随意命名。
第6步。
搜索regedit
(注册表编辑器)。点击Edit
> New
> String Value
。将AutoRun
作为Value name
,将%USERPROFILE%\profile.bat
作为Value data
。在这里,请将您的实际路径值设置为我们刚刚创建的profile.bat
。因此,每当打开命令提示符时,它会自动加载profile.bat
,这会在脚本中创建这两个别名。
步骤7.关闭您正在使用的任何命令提示符,或者只是打开一个新的命令提示符。这是因为您的更改不会影响打开的cmd窗口。环境变化只发生在新的CMD上。
步骤8.验证结果here。
如果你使用不同的Python版本,同样的技巧也适用。找到我的python环境设置here。
答案 1 :(得分:0)
In"系统属性"窗口,单击“环境变量...”并单击“编辑”选择PATH
,然后选择“#34;新建"并输入; %JAVA_HOME%\bin
它将编写JAVA_HOME
定义的。只需编辑一次。
在您根据需要定义JAVA_HOME
cmd commande:set JAVA_HOME = path_of_jdk_or_jre
之后。
答案 2 :(得分:0)
我为PC上安装的每个Java版本创建了批处理脚本,并在需要通过命令行更改Java版本时使用。这是一个例子,应该是不言自明的:
@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
答案 3 :(得分:0)
创建一个文件夹(在我的情况下为C:\ devenv)并创建一个批处理文件,并以版本(jdk8.bat,jdk9.bat,jdk10.bat,jdk11.bat等)命名。添加此命令。您只需要将设置JAVA_HOME更改为jdk版本的位置即可。将批处理文件(C:devenv)的位置添加到环境变量的路径中
@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
您只需键入批处理名称(例如jdk11)就可以在cmd上运行
答案 4 :(得分:0)
发现单个批处理文件是一个更简单的解决方案。将批处理文件位置路径添加到系统环境变量将允许您从 cmd 执行它。
批处理文件(javaVer.bat):
@echo off
echo.
IF "%1" == "" GOTO NoParams
IF "%1" == "8" GOTO J8
IF "%1" == "11" GOTO J11
IF "%1" == "latest" GOTO latest
IF "%1" == "-h" GOTO help
IF "%1" == "--help" GOTO help
:NoParams
echo Enter Java version
GOTO options
:help
echo Usage: javaVer [java version]
GOTO options
:: available java versions
:options
echo options: 8, 11, latest.
GOTO exit
:: java 8
:J8
set JAVA_HOME=C:\Program Files\Java\jdk8u282-b08
GOTO activate
:: java 11
:J11
set JAVA_HOME=C:\Program Files\Java\jdk-11.0.10+9
GOTO activate
:: latest java version
:latest
set JAVA_HOME=C:\Program Files\Java\jdk-15.0.2+7
GOTO activate
:: activates the selected java version
:activate
set Path=%JAVA_HOME%\bin;%Path%
echo Java %1 activated.
GOTO exit
:: prints java version
:exit
echo.
echo Current Java version:
java -version
用法:javaVer [java 版本]
exp:javaVer 8
答案 5 :(得分:0)
我通过替换环境变量中的 JAVA_HOME 变量 - 仅限系统属性来做到这一点。
如果您是域用户,请以管理员用户身份登录。
编辑环境变量 -> 高级 -> 系统变量 -> 新:
a) 为 JAVA_HOME 添加多个条目,如下所示:-
JAVA_HOME (in my case, its version 11 is by default),
JAVA_HOME_6 (for version 6),
JAVA_HOME_7 (for version 7),
JAVA_HOME_8 (for version 8)
b) 现在在相同的系统变量下编辑路径并为java添加新路径,如下所示。 删除任何现有的 java 路径条目。
假设我需要将java版本更改为8,然后我更改JAVA_HOME的键值。 即 JAVA_HOME 重命名为 JAVA_HOME_11 和 JAVA_HOME_8 重命名为 JAVA_HOME 您需要关闭现有 CMD 并打开新 CMD 以验证此更改。 我承认它仍然只是一个 GUI 解决方案
如果某些应用程序仍然没有采用新的java路径集,那么您需要在启动时检查java配置
c) 在 Windows 启动时单击配置 Java 应用程序。在这里,您可以通过复选框启用所需的路径。这消除了路径问题。
谢谢