Java环境变量详解:PATH的作用与配置方法,如何在任意目录使用javac.exe和jav
查看单个可以使用echo:如echo $JAVA_HOME。

4. 在Java中
我们终于知道什么是环境变量以及它的作用了。那么,Java中到底会用到什么呢?它们的作用是什么?
首先需要了解一件事:环境变量一般是操作系统的直接上层程序使用的。例如Linux中的shell和.sh文件; Windows 中的 cmd 和 .bat 文件。
Java相关的常见环境变量及其作用
小路
操作系统使用PATH来指定操作系统需要使用的可执行程序的位置。对于Java,通常需要将JDK的bin目录添加到PATH中,这样就可以在任意目录下使用bin下的可执行程序,如javac.exe、java.exe等。
这个变量必须保证JRE/JDK的bin包含在里面(我这里并不严格,你可以把javaw.exe等文件复制一份放到任意PATH路径下,不一定是JRE/JDK)。 OK),这样就可以启动很多Java程序了,比如Eclipse。
JAVA_HOME
JAVA_HOME是一种约定,通常指的是JDK目录。如果需要JDK,大多数程序都会默认从环境变量中获取JAVA_HOME变量。
例如,Tomcat的.bat/.sh文件将默认使用JAVA_HOME。
因此,这个变量最需要设置。设置它将确保您万无一失并拥有安全的生活......
JRE_HOME
同样,这是一个常规变量,通常指 JRE 目录。事实上,大多数Java程序不需要JDK,而只需要它的子集JRE,所以很多程序也会使用这个变量。
例如,Tomcat 中的一些 .bat 文件是这样表示的:
rem JAVA_HOME Must point at your Java Development Kit installation.
rem Using JRE_HOME instead works as well.
rem
rem JRE_HOME Must point at your Java Runtime installation.
rem Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
rem are both set, JRE_HOME is used.
大致思路是:Tomcat获取这两个变量时,只要其中一个不为空就可以了。如果不为空,则将使用 JRE_HOME。因为Tomcat不需要JDK中的工具,它只是运行Java程序。
如果你明确知道应用程序只需要设置这个变量(如上面Tomcat的注释),那么就可以替换JAVA_HOME,并且最好使用这个。
类路径
CLASSPATH是一个约定的变量,可以设置我们自己的.class和jar文件所在的目录。然而,Java 程序可以决定是否访问该变量。 Tomcat在某些情况下会检索它,但如果你不设置它,你自己的Java程序将忽略它。
这与Java可执行程序:java.exe的可选配置-cp/-classpath不是一回事,但有类似的意图:
java [-options] class [args...]
(执行类)
或 java [-options] -jar jarfile [args...]
(执行 jar 文件)
其中选项包括:
-cp <目录和 zip/jar 文件的类搜索路径>
-classpath <目录和 zip/jar 文件的类搜索路径>
用 : 分隔的目录, JAR 档案
和 ZIP 档案列表, 用于搜索类文件。
结论:基本上,你不需要它。
卡塔琳娜_HOME
这是 Tomcat 使用的。我猜测CATALINA这个名字是因为Tomcat默认服务的名字(也就是标签)是CATALINA。当然,是否真的并不重要。毕竟,变量的名称可以任意选择(但最好通过名称知道含义)。重要的是它所存储的价值。其值代表当前tomat根目录,例如:E:\apache-tomcat-7.0.55。
仅当您移动了 .bat/.sh 和其他用于启动 Tomcat 的文件(即它们不在原来的 tomcat\bin 下)时,才需要指定该变量。例如,在Linux中,将catalina.sh复制到/etc/rc.d/init.d/中以实现自启动服务时需要进行设置。
Java代码中也有获取环境变量的API:
总结
最后我们总结一下:
操作系统下需要设置的变量:
PATH包含JRE/JDK的bin目录。
JAVA_HOME 或 JRE_HOME。您可以设置这两个设置。如果你懒的话,设置JAVA_HOME即可。
需要很少的设置:
类路径,CATALINA_HOME。