在Java开发中,在安装完jdk之后,首先需要做的工作就是进行Java环境变量配置。在Windows下的配置我们都比较熟悉,图形化界面配置起来也相对容易(详见:Windows7下环境变量配置),接下来我们就来了解在Linux下命令行模式如何进行Java环境变量配置。
首先,我们需要弄清楚需要配置的环境变量有哪些,如下所示:
1. JAVA_HOME环境变量。
它指向jdk的安装目录,Eclipse/Intellij IDEA/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。JAVA_HOME是配置其他环境变量的基础。
2.PATH环境变量。
作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。修改PATH时需要注意不要覆盖掉原来的值。
3.CLASSPATH环境变量。
作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
主要有三种方式来进行环境变量的配置,推荐第一种和第二种。
使用这种方式进行环境变量配置时,需要以管理员权限才能修改/etc/profile文件,如何获取管理员权请参照我的这篇文章“Linux管理员权限获取(su和sudo的区别)”。按照这种方式进行修改之后,所有用户的shell都有权使用这些环境变量。
- 用vi命令打开/etc/profile
- 在profile文件末尾加入:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home export PATH=$PATH :$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar </span></span>
- 重新登录或使用source /etc/profile命令使改动立即生效
需要注意的地方:
- 你要将/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home改为你的jdk安装目录 。
- 在linux下用冒号“:”来分隔路径 ,windows下是“;”。
- $JAVA_HOME,$PATH,$CLASSPATH是用来引用原来的环境变量的值 。
- 在设置环境变量时特别要注意不能把原来的值给覆盖掉了。
- CLASSPATH中当前目录“.”不能丢。
2. 修改.bash_profile文件
这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。
- 用vi命令打开用户目录下的.bash_profile文件
- 在.bash_profile文件末尾加入:
3. 直接在shell下设置环境变量export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home export PATH=$PATH :$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar </span></span>
- 重新登录或者利用source .bash_profile命令使修改结果立即生效。
不赞成使用这种方法,因为这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
- 只需在shell终端执行下列命令:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home export PATH=$PATH :$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar </span></span>