ubuntu 怎么修改jdk默认安装路径/usr/bin/java

 我来答
xiangjuan314
2016-04-24 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2869万
展开全部
- 安装SunJDK
首先,安装SunJDK, 有的文章说可以通过Ubunttu的命令方式自动安装:
kemix@kemix-VB10-64:~$ sudo apt-get install sun-java6-jdk

可是,在Ubuntu 10.10 的32位及64位中,都无法直接通过该命令安装,也许是名字变了。
我们采用的是手动安装的方法:
先到sun 官网,www.sun.com 下载 JDK。(sun已经被oracle收购了,因此会自动重定向到oracle官网),这里我们下载的是jdk-6u26-linux-x64.bin,因为这里先假设的是Ubuntu 64位。应对你的需求,可以下对应的版本,比如32位的jdk-6u26-linux-i586.bin。

比如,安装到/opt目录中,先使用mv命令,将该bin文件移动到opt目录下:
kemix@kemix-VB10-64:~$ sudo mv Download/jdk-6u26-linux-x64.bin /opt
(可能要求输入用户名密码,因为用的是sudo命令)

然后切换到/opt目录下,并通过chmod命令赋予该bin可执行权限:
kemix@kemix-VB10-64:/opt$ sudo chmod +x jdk-6u26-linux-x64.bin

执行安装:
kemix@kemix-VB10-64:/opt$ sudo sh jdk-6u26-linux-x64.bin
或 kemix@kemix-VB10-64:/opt$ sudo ./jdk-6u26-linux-x64.bin

- 设置JAVA_HOME环境变量:

如果设置全局的环境变量(针对所用用户):
kemix@kemix-VB10-64:/opt$ sudo gedit /etc/profile

export JAVA_HOME=/opt/jdk1.6.0_26
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
把上面添加的,原封不动的copy到文件末尾(在umask 022之后)。
(PS,Linux的路径分割符是冒号“:”,大家知道Win下是分号“;”,此处切忌不要在分号前后留空白,鄙人曾经为了好看些,就人为的加入了些前后空格,结果可想而知,所有命令都没法用了,后果很严重啊!打开shell,还会报:bash: export: `/opt/jdk1.6.0_26/bin:': not a valid identifier)

当然也可以基于安全考虑,只针对当前用户设置环境变量:
kemix@kemix-VB10-64:~$ gedit .bashrc
把上面三行export语句copy到文件末尾即可。

- 设置默认JDK
SUN JDK已经算安装完毕,可当我们用java -version时发现,仍旧是使用的老的OpenJDK。
需要我们更改系统的默认JDK设置:
kemix@kemix-VB10-64:/opt$ sudo update-alternatives --install /usr/bin/java java /opt/jdk1.6.0_26/bin/java 300
kemix@kemix-VB10-64:/opt$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.6.0_26/bin/javac 300
update-alternatives: using /opt/jdk1.6.0_26/bin/javac to provide /usr/bin/javac (javac) in auto mode.

接下来,我们先看看,系统中已经存在的JDK:
kemix@kemix-VB10-64:/opt$ sudo update-alternatives --list java
/opt/jdk1.6.0_26/bin/java
/usr/lib/jvm/java-6-openjdk/jre/bin/java

配置:
kemix@kemix-VB10-64:/opt$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode
1 /opt/jdk1.6.0_26/bin/java 300 manual mode
2 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /opt/jdk1.6.0_26/bin/java to provide /usr/bin/java (java) in manual mode.

* 表示当前的默认JDK,可以看出是OpenJDK,同时可以看到刚安装的Sun JDK,序号为1,且之前设置的状态值300。
这里需要你输入设置默认的序号,这里当然我们选1。

这里,你可以再次执行该命令来查看我们的设置是否ok:
kemix@kemix-VB10-64:/opt$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode
* 1 /opt/jdk1.6.0_26/bin/java 300 manual mode
2 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode

Press enter to keep the current choice[*], or type selection number: 1

由于这里已经成功设置了Sun JDK,所以,这里重复选择后,没有效果了。

- 验证默认JDK
注销后重新登录,使用命令java -version
kemix@kemix-VB10-64:~$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

可以看到,已经是默认的Sun JDK了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式