Windows设置

全局变量

右键【计算机】-【属性】-点击【高级系统设置】(以Win11为例,Win10及以下在左侧)
QQ202211132245279d409acaf599b0b5.jpg
选择【高级】选项卡,选择下方的【环境变量】;
QQ202211132245476311a73fbdfa8223.jpg
在系统变量(注意不是用户变量)中 新建/编辑 以下参数;

JAVA_HOME — %JDK路径%
Path — %JAVA_HOME%\bin
CLASSPATH — .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

如果安装了多个JDK版本 可以专门设置该JDK的变量路径,例如:
JAVA8_HOME — %JDK8路径%
JAVA_HOME — %JAVA8_HOME%

QQ202211132247332d7a2c6d1a05c8ee.jpg
QQ202211132248437a7943d4d9d53b77.jpg

命令行设置变量

设置临时变量(临时在批处理/脚本中使用)

1
2
3
4
5
6
@echo off
set "JAVA_HOME" "%JAVA8_HOME%"
set "PATH" "%JAVA_HOME%\bin"
set "CLASSPATH" ".;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;"
java -version
pause

设置系统变量(不建议使用,会替换掉以前的所有配置)

1
2
3
4
5
6
@echo off
setx "JAVA_HOME" "%JAVA8_HOME%" /m
setx "PATH" "%JAVA_HOME%\bin" /m
setx "CLASSPATH" ".;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;" /m
java -version
pause

关于 set/setx 的使用

设置临时变量 set "变量名" "变量值"
设置用户变量 setx "变量名" "变量值"
设置系统变量 setx "变量名" "变量值" /m

Linux设置(以Centos7为例)

全局变量

在 /etc/profile 文件中添加以下变量

1
2
3
4
5
export JAVA8_HOME=/usr/java/jdk1.8.0_321
export JAVA17_HOME=/usr/java/jdk-17.0.2
export JAVA_HOME=$JAVA8_HOME
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

添加后执行source /etc/profile进行设置生效

局部变量(临时在脚本中使用)

1
2
3
4
5
#!/bin/sh 
export JAVA_HOME=$JAVA17_HOME
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
java -version