Java的 JAVA_HOME、Path、CLASSPATH环境变量小结
刚学Java的时候,很多jdk配置教程都要求设置JAVA_HOME、Path、CLASSPATH3个变量。而Java官网有这么一句话:jdk1.5之后的版本在安装时不用设置CLASSPATH变量。今天我就以jdk1.5为例,总结下三者的区别。
我们要先了解环境变量什么作用。
按下windows键+R打开运行窗口,在里面直接输入system32,回车之后就打开了system32这个文件夹,为什么?
同样的操作我们输入game,为什么没有打开D:\game这个文件夹呢?其实这就是“环境变量”的作用了。
系统就会先在当前目录查找 应用程序(机器可识别的机器码或目录),如果有就会执行文件或打开目录,否则就会在Path中指定的路径中找,
1、Windows 下环境变量设置
Path(核心)
当我们安装完jdk之后,打开cmd(在非安装目录的路径下)输入javac、java,会提示找不到命令。我们需要将命令所在的路径添加到Path系统变量中,这时,系统就可以找到可执行文件了。
Windows在查找可执行文件是这样的:在终端输入java时,系统就会先在当前目录查找java程序,如果有就会执行java,否则就会在Path中指定的路径中找,因为我们在PATH配置了...\jdk\bin,系统会在这个路径下找到Java程序并执行。否则就提示找不到命令。Path的作用其实就是方便我们使用一些命令。
JAVA_HOME(为了方便设置path)
JAVA_HOME里面的内容是JDK安装目录。其实不设置JAVA_HOME也是可以的,只要有Path就行了。但是设置JAVA_HOME可以方便在Path中使用、更新JDK目录。比如,jdk的安装路径是C:\jdk1.5.0_22,Path设置为C:\jdk1.5.0_22\bin,而当我们把JAVA_HOME设为C:\jdk1.5.0_22时,设置Path就可以写成%JAVA_HOME%\bin,以后当我们使用其他版本的jdk,就可以只修改JAVA_HOME的值,此外,当我们要使用Redis等组件时,也可以灵活使用JAVA_HOME做些改动。
CLASSPATH(JDK 1.5之后,不必设置)
编译、运行Java程序时,JRE会去该变量指定的路径中搜索所需的类(.class)文件,很多配置教程都让我们设置CLASSPATH环境变量为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar,但是其实没有必要。以jdk1.5为例,当我们配置完成后,写个HelloWorld.java。
在cmd中进入文件目录,可以发现依然可以编译、运行
再查看运行的详细信息,可以看到没有CLASSPATH的情况下rt.jar、当前目录也是可以被JVM找到的。
也就是说,在JDK 1.5之后,完全可以不配置这个变量。不配置CLASSPATH,JRE会自动搜索当前路径下的类文件。编译、运行时,系统可以自动加载dt.jar和tools.jar文件中的Java类。
一般配置为:
系统环境变量:
CLASSPATH系统环境变量 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
JAVA_HOME系统环境变量 D:\Program Files\Java\jdk1.8.0_201
path 系统环境变量:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;D:\Program Files\VisualSVN Server\bin;D:\Program Files\TortoiseSVN\bin;D:\Program Files\TortoiseGit\bin;d:\Program Files (x86)\Git\cmd;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\dotnet\;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;C:\Program Files\Redis\;C:\Program Files\nodejs\
Windows10 配置不需要加分号,再加路径,一个路径新建一个就行。配置玩JAVA_HOME后 Path路径配置如下:
这里说一下基础知识,如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。
简单来说,JRE可以支撑Java程序的运行,包括JVM虚拟机(java.exe等)和基本的类库(rt.jar等),JDK可以支持Java程序的开发,包括编译器(javac.exe)、开发工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和更多的类库(如tools.jar)等。
2、Linux操作系统的环境变量和用户变量文件系统相对简单
比方说 系统变量的文件都在/etc/profile 下面 ,而用户文件是在 ~/bash_profile下面(每个用户文件不在同一个)
Linux设置环境变量:
先打开配置环境变量文件
$ vi ~/.bash_profile
再设置环境变量
export M2_HOME=/usr/local/apache-maven-3.6.0
export PATH=$PATH:$M2_HOME/bin
Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
export 可新增,修改或删除环境变量
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
linux中vi和vim的区别
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
参考原文链接:https://blog.csdn.net/sinat_30973431/article/details/82556821
本文作者:好Wu赖
本文链接:https://www.cnblogs.com/erlongxizhu-03/p/12114652.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现