linux下的alternatives

在我的linux系统里,本来就有个jdk1.6的版本,但是已经旧了,我要换新的JDK,问题来了。

下载了最新的JDK1.7.0_09,解压出来,添加了环境变量,但是使用java -version的时候,发现还是JDK1.6那个

怎么办呢?好吧,慢慢找出来。我用whereis java

找到了java命令是调用/usr/bin/java

好吧,用ls -l /usr/bin/java又发现调用了另一个地方的。

/etc/alternatives/java   这个是什么?alternatives是什么东西。

上网一搜,果然有。

这是一个只有 root 才能执行的命令。alternatives 的意思是 “可选择的内容”。假如你的系统中有几个命令功能十分类似,却又不能随意删除,那么可以用 alternatives 来指定一个全局的设置。在 FC3 中,全局默认输入法和 java 系统等等都是用它来进行设置的。它有几种功能,可以用命令行参数来指定。alternatives --install <link> <name> <path> <priority> 意思是在 alternatives 数据库中添加一个 <path>,使它成为 <link> 的可选项,优先级是 <priority>。而 <name> 则是一个中转站。这样说似乎有些抽象。

具体要怎么做呢?

先执行这个命令吧

sudo update-alternatives --install /usr/bin/java java /home/Android/jdk1.7.0_09/bin/java 300

其中/usr/bin/javac是最终调用选择java的命令文件,而/home/Android/jdk.....这个是我JDK的目录。现在这命令是指将我的JDK的java添加到命令的选项中。

然后再执行下面这命令

sudo update-alternatives --config java

发现什么了?发现选项了,是吧。

要维持当前值[*]请按回车键,或者键入选择的编号:

有 2 个候选项可用于替换 java (提供 /usr/bin/java)。

  选择       路径                                         优先级  状态
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      自动模式
* 1            /home/Android/jdk1.7.0_09/bin/java              300       手动模式
  2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      手动模式

要维持当前值[*]请按回车键,或者键入选择的编号:

很明显的,现在要输入的是你要使用哪个java了,是吧,那我要用的是1编号的的java,所以我输入1,好了。到这里就已经成功了。

我们测试下,java -version

java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Server VM (build 23.5-b02, mixed mode)

1.7出来了。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值