Linux下Java变量

一、JAVA_HOME、PATH、CLASSPATH详解

1.1、JAVA_HOME

  指向jdk安装目录,该目录下有bin、lib目录。Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

1.2、PATH

  系统原有的变量,作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。

1.3、CLASSPATH

  作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们 需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。

下面是一个实例:

export JAVA_HOME=/usr/java/jdk1.8.0_171-i586
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

注:
1)Linux中,用“:”分割路径;Windows中,用“;”分割。
2)$JAVA_HOME和$PATH表示引用原来的变量的值。
3)CLASSPATH的“.”表示当前目录,不能去掉。
4)export是将三个变量导出为全局变量。

二、三种配置环境变量的方法

2.1、修改/etc/profile文件 

如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 

  • 用文本编辑器打开/etc/profile 
  • 在profile文件末尾加入: 
export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

临时生效:source /etc/profile 
重新启动,一般、etc/profile这个文件开机启动

注解 

  1. 你要将 /usr/share/jdk1.6.0_14改为你的jdk安装目录 
  2. linux下用冒号“:”来分隔路径 
  3. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值 
  4. 在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种常见的错误。 
  5. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。 
  6. export是把这三个变量导出为全局变量。 
  7. 大小写必须严格区分。 

2.2、修改.bash_profile文件 

这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。 

  • 用文本编辑器打开用户目录下的.bash_profile文件 
  • 在.bash_profile文件末尾加入: 
export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

临时生效:source ~/bash_profile 
重新启动

2.3、直接在shell下设置变量

不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。 
只需在shell终端执行下列命令: 

export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
原文地址:https://www.cnblogs.com/dongye95/p/11098164.html