原文链接(https://blog.csdn.net/u013201439/article/details/55657634)
前言
搜索“配置环境变量”,十有八九是jdk环境变量的配置,基本上多数都是教我们如何去配置,真正去说明为什么要去配置环境变量,为什么要那样配置并不多。
就以java环境变量来说,每装一次都需要配置一次,每配置一次都去查资料岂不是很麻烦,还可能出现各种各样的问题,无论是Windows或者是Linux。如果搞清楚原理,能让我们更从容的应对这样问题。
概念
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。
我们通过一个具体的应用场景来理解:毫无疑问,想要运行一个软件,我们必须知道其启动程序程序的位置,同样的在命令行输入一个命令,计算机需要知道命令所在位置,否则会提示没有此命令。
win + R 打开“运行”,是我们常用的应用
当我们输入“notepad”打开记事本程序时,操作系统会去环境变量已保存的路径中查找是否存在notepad程序。
如果没有配置好环境变量,我们就必须告诉操作系统绝对路径:”C:\Windows\notepad”
Java环境变量配置
在初次安装Java后,为了更加方便的使用需要配置环境变量,或者说安装了新版本的JDK后,使用java -version查看发现还是之前的版本,这也是环境变量配置的原因。
通常情况我们需要配置以下三个变量:
JAVA_HOME:指向Jdk的安装目录,作用是一些基于Java开发的工具会用到,比如tomcat,Eclipse,如果不用这些工具不需要配置。
Path:指向jdk安装目录下的bin目录,作用是指定命令搜索路径,bin目录下有编译、启动(javac/java)等命令,为了任何目录位置下都可以直接输入命令,而不用输入长长的路径了。如果配置了JAVA _HOME ,直接把%JAVA_HOME%/bin追加到PATH中即可。
CLASSPATH:在于告诉Java执行环境,在哪些目录下可以找到我们所要执行的Java程序所需要的类或者包。不过在JDK1.5之后的版本完全可以不用设置classpath环境变量就能正常运行程序。
小结
一条命令语句包含命令本身(操作)和操作对象:Command + object,编译和运行Java程序必须经过两个步骤:
将源文件编译成字节码 (javac)
执行平台无关的字节码程序(java)
那么错误可能会有两种情况,一是没有找到命令,二是没有找到命令所要操作的文件。
另外,JDK1.5之后的版本完全可以不用设置CLASSPATH环境变量就能正常运行程序。但是我们还可以发现网上很多1.7、1.8配置环境变量的教程仍然在采用1.5之前的方法来配置CLASSPATH,只需要再多去了解一点,可见有些时候明白为什么去做一件事要比如何做更重要。
---------------------
作者:Bboy-AJ-任杰
来源:CSDN
原文:https://blog.csdn.net/u013201439/article/details/55657634