怎么配置jdk环境变量:Windows、Linux双系统实操
怎么配置jdk环境变量分为Windows图形界面配置和Linux终端配置两条路线,配置核心是设置JAVA_HOME指向JDK根目录,把bin目录写入Path变量,部分项目额外配置CLASSPATH,Windows10、Windows11图形方式适合本地开发调试,CentOS7、Ubuntu终端方式适合服务器部署,JDK8至JDK21都兼容这套逻辑,配置完成后打开新终端输入java-version、javac-version两条命令,两个输出版本一致才算成功,仅java命令生效、javac报错一般是Path没有绑定jdk的bin目录,不是jre目录,该方法不适用于已经使用SDKMAN、Jenv这类多版本JDK管理工具的环境,这类工具会自动接管环境变量,手动修改容易产生冲突。
怎么配置jdk环境变量之Windows系统操作
你先找到本地解压或者安装好的JDK文件夹,复制文件夹路径,路径里面尽量不要包含中文、空格、特殊符号,例如C:\jdk1.8.0_391,这个路径就是JAVA_HOME的值,不要复制到bin文件夹那一层。右键此电脑,选择属性,打开高级系统设置,点击环境变量,在系统变量区域点击新建,变量名填写JAVA_HOME,变量值粘贴刚才复制的JDK根路径,确认保存。
找到系统变量里名称为Path的变量,双击编辑,点击新建,输入%JAVA_HOME%\bin,把这条条目移动到靠前位置,降低其他Java程序抢占优先级带来的干扰,全部窗口依次点击确定关闭,不要直接点叉关闭窗口,改动不会写入系统。
CLASSPATH变量在JDK1.5之后大多数场景可以省略配置,只有运行老旧Java项目、读取本地jar包时才需要添加,新建系统变量CLASSPATH,变量值填写.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar,开头的点不能省略,代表当前工作目录。
验证必须新开命令提示符窗口,旧窗口会保留旧环境,输入java-version查看运行环境版本,再输入javac-version查看编译工具版本。
版本不一致就是失败。
怎么配置jdk环境变量之Linux系统操作
Linux分为用户级配置和全局配置,用户级只对当前登录账号生效,修改~/.bashrc文件,全局配置对服务器全部用户生效,修改/etc/profile文件,你使用vim打开对应文件,在文件末尾追加三行配置,第一行exportJAVA_HOME=/usr/local/jdk1.8.0_391,第二行exportPATH=$JAVA_HOME/bin:$PATH,第三行exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar,路径替换成服务器上JDK实际解压路径。保存退出文件后执行source命令加载配置,source~/.bashrc或者source/etc/profile,不执行source,配置要等到下次登录才会加载。
| 配置方式 | 生效范围 | 重启后是否保留 | 适用场景 |
|---|---|---|---|
| Windows系统变量 | 本机全部账号 | 保留 | 个人开发电脑 |
| Windows用户变量 | 仅当前账号 | 保留 | 多用户共用电脑 |
| Linux~/.bashrc | 仅当前用户 | 保留 | 开发账号、普通业务账号 |
| Linux/etc/profile | 服务器全部用户 | 保留 | 线上统一服务环境 |
Linux验证命令同样是java-version和javac-version,部分精简版Linux系统自带OpenJRE,只带java运行命令,没有javac编译命令,这种情况就算环境变量填写正确,javac命令依旧提示找不到,需要重新安装完整JDK安装包。
切换多版本JDK时,只需要修改JAVA_HOME对应的路径,再重新加载环境变量,不需要反复改动Path内容,这也是定义JAVA_HOME的核心意义,后续更换版本只改动一处路径,维护成本更低。
阿里云、腾讯云官方提供的Java运行环境文档,推荐线上业务优先使用JDK8和JDK17,这两个版本长期支持周期更长,稳定性在生产环境中表现较好。
