Loading... ## 前言 最近重装了系统网站挂了几天也没管,相信大家也看到了 但是一直有一个问题就是Java配置 想玩Minecraft需要Java8,但是有一些Java项目需要Java13 就很烦,看了别人的教程感觉很不清楚,决定自己写一篇 ##正文 如果之前配置过先删除系统变量,使运行java命令出现类似找不到命令的输出 还需卸载自动jdk ```bash sudo apt-get purge *jdk* ``` 不然可能切换不了 安装一个版本的Java 直接在[Java官网下载jdk压缩包][1] 下载好以后放在`/usr/lib/jvm`木有这个文件的创建一个 现在配置第一个Java jdk 因为我是Ubuntu系统所以是用`update-alternatives`命令 ```bash update-alternatives --install <link> <name> <path> <priority> ``` 这是--install选项的可用参数 下面可以不用看 !!! <p style="color:#D7D7D7"> link是系统中功能相同软件的公共链接目录 name是一个名称可用直接用需要可执行命令(如java命令就用java,javac就用javac) path是是命令的目录(如java命令就在/usr/lib/java-13/bin/java,java-13这里替换成你的文件名) priority是优先级(越大越优先) </p> !!! 使用以下命令 ```bash sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/bin/java 1070 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/bin/javac 1070 sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java/bin/jar 1070 sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java/bin/javah 1070 sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java/bin/javap 1070 ``` 只需修改`/usr/lib/jvm/java`成自己的目录后面的`/bin/java`不用修改,可以更具自己情况修改优先级 执行之后用`sudo update-alternatives --config java`切换即可 但是现在只有一个所以不用配置 在配置几个不同的就可用了,优先级要改一改 优先级最高的会变成自动模式(默认的) 现在运行`sudo update-alternatives --config java`会出现下面这样 ```bash zi-gao@zigao:~$ java -version java version "1.8.0_241" Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode) zi-gao@zigao:~$ sudo update-alternatives --config java 有 2 个候选项可用于替换 java (提供 /usr/bin/java)。 选择 路径 优先级 状态 ------------------------------------------------------------ 0 /usr/lib/jvm/jdk-13.0.2/bin/java 300 自动模式 1 /usr/lib/jvm/jdk-13.0.2/bin/java 300 手动模式 * 2 /usr/lib/jvm/jdk1.8.0_241/bin/java 200 手动模式 要维持当前值[*]请按<回车键>,或者键入选择的编号:0 update-alternatives: 使用 /usr/lib/jvm/jdk-13.0.2/bin/java 来在自动模式中提供 /usr/bin/java (java) zi-gao@zigao:~$ java -version java version "13.0.2" 2020-01-14 Java(TM) SE Runtime Environment (build 13.0.2+8) Java HotSpot(TM) 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing) zi-gao@zigao:~$ sudo update-alternatives --config java 有 2 个候选项可用于替换 java (提供 /usr/bin/java)。 选择 路径 优先级 状态 ------------------------------------------------------------ * 0 /usr/lib/jvm/jdk-13.0.2/bin/java 300 自动模式 1 /usr/lib/jvm/jdk-13.0.2/bin/java 300 手动模式 2 /usr/lib/jvm/jdk1.8.0_241/bin/java 200 手动模式 要维持当前值[*]请按<回车键>,或者键入选择的编号:2 update-alternatives: 使用 /usr/lib/jvm/jdk1.8.0_241/bin/java 来在手动模式中提供 /usr/bin/java (java) zi-gao@zigao:~$ java -version java version "1.8.0_241" Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode) zi-gao@zigao:~$ sudo update-alternatives --config java 有 2 个候选项可用于替换 java (提供 /usr/bin/java)。 选择 路径 优先级 状态 ------------------------------------------------------------ 0 /usr/lib/jvm/jdk-13.0.2/bin/java 300 自动模式 1 /usr/lib/jvm/jdk-13.0.2/bin/java 300 手动模式 * 2 /usr/lib/jvm/jdk1.8.0_241/bin/java 200 手动模式 要维持当前值[*]请按<回车键>,或者键入选择的编号:0 update-alternatives: 使用 /usr/lib/jvm/jdk-13.0.2/bin/java 来在自动模式中提供 /usr/bin/java (java) zi-gao@zigao:~$ java -version java version "13.0.2" 2020-01-14 Java(TM) SE Runtime Environment (build 13.0.2+8) Java HotSpot(TM) 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing) zi-gao@zigao:~$ ``` 输入序号修切换 [1]: https://www.oracle.com/java/ Last modification:July 8, 2022 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 大哥给点钱吧~ヽ(・ω・´メ)(微信 支付宝 QQ都是一个码哦~