linux使用更新备用项切换java版本
有关使用update-alternatives命令的信息,请参见:
以前的文章介绍了如何使用文件夹管理而不是原始命令,这是个人使用的方式,不是规范的通用方式。
缺省情况下,每个软件包对应的命令都是单独设置的,因此具有每个命令可以使用不同版本的优点。 使用Java 1.9、javap 1.8时
以java为例,缺省情况下配置了' Java/javac/appletviewer/jconsole '。
要在安装新版本时保留旧版本并使新版本生效,请首先检查旧版本的优先级,如下所示:
辅助更新-备用- -显示javac
javac -自动模式
linkbestversionis/usr/lib/JVM/Java-8 -开放JDK-amd64/rdtn/javac
linkcurrentlypointsto/usr/lib/JVM/Java-8-open JDK-amd64/rdtn/javac
link javac is /usr/rdtn/javac
slave javac.1.gzis/usr/share/man/man1/javac.1.gz
/usr/lib/JVM/Java-8 -开放JDK-amd64/rdtn/javac-priority 1081
现在,让我们看看当前的java版本是java-8,其优先级为1081。
那么,安装java-9,让他自动启用。 那么,我们把他的优先顺序设定为大于1081,例如3000。
明确这个前提后,开始安装java-9。
sdoapt-get install-yqqopenjdk-9-JDK
安装完成后,会出现一条消息,询问您安装在哪里。 ubuntu的默认值为'/usr/lib/JVM/Java-9-open JDK-amd64 '
在中,测试后发现安装程序中只设置了appletviewer和jconsole。 没关系。 我不在乎这个。 接下来设定自己使用的命令和优先顺序。
sudo update-alternatives--安装/usr/rdtn/javajava/usr/lib/JVM/Java-9-open JDK-amd64/rdtn/Java 3000
辅助更新-备用- -安装/usr/rdtn/javac javac/usr/lib/JVM/Java-9 -开放JDK-amd64/rdtn/javac 334
sudo update-alternatives--安装/usr/rdtn/jar jar/usr/lib/JVM/Java-9-open JDK-amd64/rdtn/jar 3000
sudo update-alternatives---install/usr/rdtn/javah javah/usr/lib/JVM/Java-9-open JDK-amd64/rdtn/Java
辅助更新-备用- -安装/usr/rdtn/javap javap/usr/lib/JVM/Java-9 -开放JDK-amd64/rdtn/javap 334
sudo update-alternatives-- -安装/usr/rdtn/j shell j shell/usr/lib/JVM/Java-9 -开放JDK-amd64/rdtn/j shell
sudo update-alternatives---install/usr/rdtn/jconsole jconsole/usr/lib/JVM/Java-9-open JDK-amd64/rdtt
#如果需要其他命令,请自行添加,如jmap/jps
接下来,让我们检查一下:
$ sudo update-alternatives-- display javac
javac -自动模式
linkbestversionis/usr/lib/JVM/Java-9-open JDK-amd64/rdtn/javac
linkcurrentlypointsto/usr/lib/JVM/Java-9-open JDK-amd64/rdtn/javac
link javac is /usr/rdtn/javac
slave javac.1.gzis/usr/share/man/man1/javac.1.gz
/usr/lib/JVM/Java-8 -开放JDK-amd64/rdtn/javac-priority 1081
slave javac.1.gz :/usr/lib/JVM/Java-8-open JDK-amd64/man/man1/javac.1.gz
/usr/lib/JVM/Java-9 -开放JDK-amd64/rdtn/javac-priority 3000
$ java -version
open JDK版本'9- internal '
openjdkruntimeenvironment (内部构建9 -内部构建0-2016-04-14-195246.buildd.src ) () ) )。
open JDK 64-bitservervm (构建9 -内部0-2016-04-14-195246.buildd.src,混合模式)。
你可以看到它生效了。
这假设每个命令都处于自动模式,并且会自动选择优先级较高的命令。 为了确保这一点,可以将这些命令直接设置为auto模式,而不管其当前状态如何。
辅助更新-备用- -自动Java
辅助更新-备用- -自动javac
辅助更新-备用- -自动javap
辅助更新-备用- -自动javah
辅助更新-备用- -自动jconsole
辅助更新-备用- -自动外壳程序
那么,可以自由使用java-9了。
感谢您的阅读。 希望对大家有帮助。 感谢您对本网站的支持。