昨天下了一个软件,需要jdk8版本的,我之前开发是用的openjdk11版本的。就想找找怎么安装多个版本的,我之前知道可以知道path环境变量改变,就想找找有没有类似多版本管理的软件。

然后找到一个系统级别的update-alternatives,然后执行update-alternatives --config java,可以进行java版本的选择,我发现我之前安装过java8的jre了版本了。也没有切换,直接复制路径去执行的jar包。

然后就研究了一下update-alternatives 命令。配置文件目录为/var/lib/dpkg/alternatives/java

涉及的原理就是通过文件软链接来实现版本的切换。
ls -alh /usr/bin/java
lrwxrwxrwx 1 root root 22 7月 22 2019 /usr/bin/java -> /etc/alternatives/java

ls -alh /etc/alternatives/java
lrwxrwxrwx 1 root root 43 7月 22 2019 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java

安装软件的时候会调用update-alternatives,看文档是在执行postinst 和prerm脚本的时候,自动设置的时候会根据权重选择一个版本或者软件。

上一篇:
下一篇:

相关文章:

Categories: 博客记录

0 Responses so far.

Leave a Reply