如何在 Linux 中修改默认的 Java 版本

如何在 Linux 中修改默认的 Java 版本,第1张

默认正常情况下,即使使用Java 1.6版本Java脚本jdk-6u31-linux-i586.bin,安装Java运行后,会出现自动升级为1.7版本状态的情况。针对某些应用程序需要基于1.6版本方可运行的情况,需要降级为1.6。具体的 *** 作方法有两种:1. 使用alternatives命令来实现。

alternatives是Linux下的一个功能强大的命令,只能在root权限下执行。如系统中有几个命令功能十分类似,却又不能随意删除,那么可以用 alternatives 来指定一个全局的设置。

[root@Excel7070 ~]# alternatives

alternatives version 1.3.49.3 - Copyright (C) 2001 Red Hat, Inc.

This may be freely redistributed under the terms of the GNU Public License.

usage: alternatives --install <link><name><path><priority>

[--initscript <service>]

[--slave <link><name><path>]*

alternatives --remove <name><path>

alternatives --auto <name>

alternatives --config <name>

alternatives --display <name>

alternatives --set <name><path>

common options: --verbose --test --help --usage --version

--altdir <directory>--admindir <directory>

可以看到相应的alternatives的相关命令信息。

说明:

alternatives --install <link><name><path><priority>

其中,

install表示安装

link是符号链接

name则是标识符

path是执行文件的路径

priority则表示优先级

在当前状态下,我需要修改java的版本,具体 *** 作显示如下:

a. 在root中运行 alternatives --config java,具体显示如下:

[root@Excel7070 ~]# alternatives --config java

There are 2 programs which provide 'java'.

SelectionCommand

-----------------------------------------------

*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk/bin/java

2 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java

Enter to keep the current selection[+], or type selection number: 2

b. 然后就选择需要使用的版本号所在选项即可。"2"

c. 再运行java -version

看到的就是当前选择的java版本1.6了。

2. 使用安装修改的方式。这种方式运行之前发生有点异常,第一种方法可以保留与选择,更为合适。

已经安装了1.7版本java,需要如下 *** 作:

chmod +x jdk-6u32-linux-i586.bin

安装1.6版本

./jdk-6u32-linux-i586.bin

mv jdk1.6.0_32/ /usr/java

cd /usr/java

rm -fr latest

ln -s jdk1.6.0_32/ latest

再修改/etc/profle里面的java路径信息即可。

完成profile修改后,source /etc/pofile

java -version就可以看到版本也降级了。

第一步,首先列出linux系统中可用的jdk版本

update-java-alternatives --list

第二步:

sudo update-java-alternatives --set /path/to/java/version

在Linux下某些编译要求root权限,可是很多时候在root下就无法使用java、javac等相关命令,导致编译无法通过。

分析原因:

root运行java都是 /usr/bin/java这个引用,由于Linux中可能会引用默认的JDK,如openjdk,所以是否安装JDK对它完全没有影响。

解决办法:

手动替换默认的Jdk版本

sudo update-alternatives --config java

系统会列出各种JDK版本,如下所示:

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

选择 路径优先级 状态

------------------------------------------------------------

* 0/usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自动模式

1/usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手动模式

2/usr/lib/jvm/java-6-sun/jre/bin/java 63手动模式

3/usr/lib/jvm/java-7-sun/bin/java 300 手动模式

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

注:update-alternatives: 使用 /usr/lib/jvm/java-7-sun/bin/java 来提供 /usr/bin/java (java),于手动模式中。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6223879.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-18
下一篇2023-03-18

发表评论

登录后才能评论

评论列表(0条)

    保存