Lui*_*Lui 15 java windows environment-variables
我正在开展几个项目,其中一些正在使用不同的JDK.在JDK版本之间切换并不舒服.所以我想知道是否有任何简单的方法来改变它?
我找到了2种方法,它们应该可以解决这个问题,但它不起作用.
第一个解决方案是创建这样的bat文件:
@echo off
echo Setting JAVA_HOME
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_72
echo setting PATH
set PATH=C:\Program Files\Java\jdk1.7.0_72\bin;%PATH%
echo Display java version
java -version
pause
Run Code Online (Sandbox Code Playgroud)
在运行这个蝙蝠之后,我看到了正确的Java版本.但当我关闭这个CMD并打开一个新的并输入"java -version"时,它说我仍然有1.8.0_25.所以它不起作用.
我找到的第二个解决方案是来自该站点的应用程序.它也不起作用.与第一种解决方案相同的效果.
有任何想法吗?因为通过以下方式更改JAVA_HOME和PAHT:Win + Pause - >高级系统设置 - >环境变量 - >并编辑这些变量,这是很糟糕的方式......
kap*_*pex 18
该set命令仅适用于当前终端.要永久设置可以使用的系统或用户环境变量setx.
setx JAVA_HOME "C:\Program Files\Java\jdk1.7.0_72" /m
Run Code Online (Sandbox Code Playgroud)
该/m选项用于设置变量系统范围(而不仅仅是当前用户).必须以管理员身份运行终端才能使用此选项.
该变量将在所有新的终端窗口中可用,但不是当前的.如果要在同一窗口中显示路径,则需要同时使用set和setx.
PATH如果您只是放入变量%JAVA_HOME%而不是完整的JDK路径,则可以避免操作变量.如果你改变了JAVA_HOME,PATH也会更新.
还有一些环境变量编辑器可以替代繁琐的Windows环境变量设置.请参阅" 超级用户"中的" 在Windows 7中编辑PATH的方便方法吗? ".
Pra*_*oda 14
如果有人想在每个新命令窗口中频繁切换,那么我将使用以下方法。
命令提示符版本:
使用以下代码创建批处理文件。您可以使用 if 和 else 块添加 n 个版本。
@echo off
if "%~1" == "11" (
set "JAVA_HOME=C:\Software\openjdk-11+28_windows-x64_bin\jdk-11"
) else (
set "JAVA_HOME=C:\Program Files\Java\jdk1.8.0_151"
)
set "Path=%JAVA_HOME%\bin;%Path%"
java -version
Run Code Online (Sandbox Code Playgroud)
将此批处理文件另存为 SJV.bat 并将此文件位置添加到计算机的 Path 环境变量中。所以现在SJV将充当“切换Java版本”的命令。
现在打开新的命令窗口,只需键入SJV 11它将切换到 Java 11。键入SJV 8它将切换到 Java 8。
PowerShell版本
使用以下代码创建 powershell(ps1) 文件。您可以使用 if 和 else 块添加 n 个版本。
If($args[0] -eq "11")
{
$env:JAVA_HOME = 'C:\Software\openjdk-11+28_windows-x64_bin\jdk-11'
}else{
$env:JAVA_HOME = 'C:\Program Files\Java\jdk1.8.0_151'
}
$env:Path = $env:JAVA_HOME+'\bin;'+$env:Path
java -version
Run Code Online (Sandbox Code Playgroud)
将此脚本文件另存为 SJV.ps1 并将此文件位置添加到计算机的 Path 环境变量中。所以现在SJV将充当“切换Java版本”的命令。
现在打开新的 powershell 窗口,只需键入SJV 11它将切换到 Java 11。键入SJV 8ORSJV它将切换到 Java 8。
我希望这对想要经常更改它的人有所帮助。
Lu5*_*u55 11
Environment Variables编辑器(文件资源管理器>右键单击此电脑>属性>高级系统设置>环境变量...)Path变量>按编辑>放在第一个位置。这是必需的,因为 Java 安装程序添加了对安装的最新 Java 版本的引用。%JAVA_HOME%bin;C:\Program Files (x86)\Common
Files\Oracle\Java\javapathPATH
现在您可以使用命令在 Java 版本之间切换setx(应在管理权限下运行):
setx /m JAVA_HOME "c:\Program Files\Java\jdk-10.0.1\
Run Code Online (Sandbox Code Playgroud)
(注意:行尾没有双引号,不应该有,否则你会进入c:\Program Files\Java\jdk-10.0.1\"你的JAVA_HOME变量并破坏你的PATH变量)
使用系统变量(和管理权限)的解决方案更加健壮,因为它将所需的 Java 路径放在结果PATH变量的开头。