MENU

Windows 下 7 行命令设置 Java 环境变量

2019 年 07 月 04 日 • 阅读: 74 • 脚本

初学 Java 的同学总会觉得环境变量设置繁琐,加上不懂环境变量作用,找不到环境变量设置入口,不明白 ;.; 的意义,每次设置都一脸懵逼。其实利用 PowerShell 这一切都不是问题。

环境变量的简要解释

顾名思义,环境变量首先是一个变量,其次它处于系统环境中,不需要用户定义和初始化,可以直接引用。那么设置环境变量有什么作用那?以 Java IDE 为例,软件运行时会获取系统环境变量 JAVA_HOME 的值,它指向 JVM 可执行文件所在目录,如此,IDE 便可找到 JVM 并进行调用,进而编译和执行 Java 程序。而设置 Path 时之所以加 ; 号,是为了和之前的设置分隔开,不会和前一变量一起被识别为同一变量。 相应地,CLASSPATH 中的 .; 就表示项目当前路径,即先在项目目录寻找,随后寻找后面两个目录,这些目录用来寻找 Java 代码中用到的依赖类。

优雅地设置环境变量

以管理员身份打开 PowerShell 执行以下代码,复制 JDK 根目录粘贴,回车结束。

$JAVA_HOME = Read-Host "请粘贴 JDK 根目录,如 C:\Program Files (x86)\Java\jdk1.8.0_91"
$JAVA_CLASSPATH = ".;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;"
$JAVA_PATH = ";%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;"
$CURRENT_PATH = [Environment]::GetEnvironmentvariable("Path", "Machine")

[Environment]::SetEnvironmentvariable("JAVA_HOME", "$JAVA_HOME", "Machine")
[Environment]::SetEnvironmentvariable("CLASSPATH", "$JAVA_CLASSPATH", "Machine")
[Environment]::SetEnvironmentvariable("Path", "${CURRENT_PATH}${JAVA_PATH}", "Machine")

添加一个 Maven 环境变量设置方法。

$MAVEN_HOME = Read-Host "请粘贴 Maven 根目录,如 D:\Maven\apache-maven-3.6.1"
$MAVEN_PATH = ";%MAVEN_HOME%\bin;"
$CURRENT_PATH = [Environment]::GetEnvironmentvariable("Path", "Machine")

[Environment]::SetEnvironmentvariable("M2_HOME", "$MAVEN_HOME", "Machine")
[Environment]::SetEnvironmentvariable("MAVEN_HOME", "$MAVEN_HOME", "Machine")
[Environment]::SetEnvironmentvariable("Path", "${CURRENT_PATH}${MAVEN_PATH}", "Machine")

设置完毕后重新打开 Powershell 输入以下命令检测是否设置成功。

# JDK
java -version
javac -version

# Maven
mvn -version
最后编辑于: 2019 年 08 月 09 日