很多书开始讲环
java
境的时候,就会提到
path,CLASSPATH,
和
JAVA_HOME,
其实,最重要的只有两
个,也就是
path
和
CLASSPATH
,而
JAVA_HOME
只是简单的变量指代长一点的路径,可有可无。
下面就具体说一下设置。
首先,我们假设已经下载了最新的
java
SDK
,假设我们要安装在
/usr/
下,我们把下载的
.bin
文件放到
/usr/
下
sudo cp /
保存下载的
.bin
文件的目录
/java… … .bin /usr/java.bin
sudo sh java.bin
这样在
/usr/
下得到一个目录
/java… …
然后:
sudo cp /etc/environment /etc/environment-back
备份环境文件
sudo vi /etc/environment
在文件中找到
path="… … “
,这一行,在
“path="”
这里插入一句:
/usr/java… … /bin
:
这样就把刚刚我们安装的最新的
java
SDK
的目录放到了
path
的最前面,也就是说,如果有其他的版本的
java
SDK
已经安装了,我们在运行和编译
java
程序的时候,他们也最先找到我们刚刚安装的
java
SDK
,以最新的
java
虚拟机来运行
.
然后在下面加入两行:
CLASSPATH=.:/usr/java… … /lib
JAVA_HOME=/usr/java… …
这里的
JAVA_HOME
这个变量只是指向了
JAVA SDK
的安装目录,注意这里的
CLASSPATH
设置的时候前面加的
.:
,这个加入的是当前目录,如果省掉
这个,则后面在使用
java
命令的时候会出现:
Exception in thread "main"
java.lang.NoClassDefFoundError:
主类名
如果把这行放到
path
行的上面,
path
行也可以这样书写:
path="JAVA_HOME/bin:
接着以前的
path
中的项目
"
然后重新启动,启动后在终端输入:
echo $PATH ,echo $CLASSPATH ,echo
$JAVA_HOME,
查看具体的参数是不是设置正确了,当然还有个办法,就是在还没安装新的
java
SDK
前,在终端:
java -version,
然后等安装完成,重启动后,再在终端输入:
java -version,
如果以前安装过低版本的
java
SDK
,可以这样验证当前默认的
java
虚拟机版本。