如何设置java环境变量:Windows与Linux操作
如何设置java环境变量,核心分为Windows图形界面和Linux终端两种方式,操作前你需要先完成JDK安装并记录安装根目录,Windows系统推荐设置JAVA_HOME、Path、CLASSPATH三个变量,Linux系统主要修改profile文件写入环境配置,Windows10及以上版本支持直接在Path内引用JAVA_HOME简化后续版本切换,该操作适合开发人员、学生进行Java编译运行,不适合仅运行Java程序的普通用户,这类人群只安装JRE即可,无需配置环境变量。配置完成后打开命令行输入java-version与javac-version,两条命令都能正常输出版本号代表配置生效,只出现java版本而javac报错,大多是JDK路径填写错误或者误装JRE导致。
如何设置java环境变量:Windows系统配置
右键此电脑,选择属性,点击高级系统设置,在弹出窗口找到环境变量按钮,进入环境变量面板。面板分为用户变量和系统变量,用户变量仅对当前登录账户生效,系统变量对本机所有账户生效,开发场景优先选择系统变量。点击系统变量区域的新建按钮,变量名填写JAVA_HOME,变量值粘贴JDK的根目录,不要指向bin文件夹,例如C:\ProgramFiles\Java\jdk1.8.0_391,路径末尾不要带反斜杠。
在系统变量列表找到Path变量并双击编辑,点击新建,填入%JAVA_HOME%\bin,保存配置。%JAVA_HOME%属于变量引用写法,后续更换JDK版本时,只需要修改JAVA_HOME的值,不用重复编辑Path。新建系统变量CLASSPATH,变量值填写.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar,开头的点号代表当前目录,这个配置在JDK1.5之后不是强制必填,但保留可以兼容老旧Java项目。
关闭所有已打开的命令行窗口,重新打开cmd,执行验证指令。
cmd窗口不重启,新环境变量不会加载。
输入java-version,屏幕会输出当前Java运行版本,再输入javac-version,输出Java编译器版本,两个版本号保持一致就代表配置成功。如果javac提示不是内部命令,优先检查JAVA_HOME路径是否指向JDK而非JRE,其次核对Path内的bin路径书写是否完整。
如何设置java环境变量:Linux系统配置
打开终端,输入vim/etc/profile,这个文件作用是配置全系统生效的环境变量,编辑需要root权限,你也可以选择编辑~/.bashrc文件,仅对当前用户生效。移动光标到文件末尾,新增四行配置,第一行exportJAVA_HOME=/usr/local/jdk1.8.0_391,路径替换成服务器内JDK实际解压目录,第二行exportPATH=$JAVA_HOME/bin:$PATH,第三行exportCLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar,写完保存退出vim编辑器。
执行source/etc/profile命令,让配置文件立即生效,不用重启服务器。生效之后在终端输入java-version、javac-version进行校验,两条指令正常返回版本信息,代表环境变量配置完成。Linux环境下,如果后续切换JDK版本,修改JAVA_HOME对应的目录路径,再次执行source命令重载配置即可。
如何设置java环境变量:版本与常见问题区分
| 操作系统 | 推荐变量组合 | 生效方式 | 适用场景 |
|---|---|---|---|
| Windows | JAVA_HOME、Path | 重启cmd窗口 | 本地开发、学习调试 |
| Linux | JAVA_HOME、Path | source重载配置 | 服务器部署项目 |
JDK1.8是企业项目广泛使用的版本,JDK9及以上模块化版本,CLASSPATH的作用大幅弱化,很多新项目可以不配置CLASSPATH。配置时把JAVA_HOME填到bin目录,会造成引用失效,这是高频错误,出现该错误后,java命令大概率无法识别,直接回到环境变量页面修改JAVA_HOME根目录即可。
该方法的适用边界是,环境变量配置只作用于当前操作系统,虚拟机、容器内的Java环境需要单独配置,本机设置完成不会同步到容器,容器环境推荐直接在Dockerfile里定义JAVA_HOME。
