如何将Linux中默认的Openjdk替换为自己安装的jdk
- 关于出现的问题
- 1.下载最新版jdk版本
- 2.解压缩
- 3.配置路径
- 4.最后一步:配置链接组
关于出现的问题
本萌新最近在Linux想使用使用javac进行编译的时候发现一个错误:javac not to command
,于是分别查看java和javac的版本,发现java的版本为Openjdk,而javac显示未找到。总结起来就是:openjdk不完整,只能有运行java
的环境,不能进行编译,即没有javac
。而想要替换为自己使用的jdk有如下几步:
1.下载最新版jdk版本
我们应该下载相应的.tar.gz
版本的压缩包(这里我下载的是图中所示压缩包)
我们可去oracle网站进行下载:传送门
2.解压缩
将上述文件下好之后,由于我使用的是vmvare,下载了vmtools,所以可以直接将Windows的文件拷贝过去,解压缩我们可以在Linux终端中使用命令:
tar -zxvf jdk1.8.0_241.tar.gz //解压到当前文件夹
当然有图形界面的话,我们也可直接在图像用户界面解压缩,记住自己的解压缩位置。
3.配置路径
这里我首先把我的下载的jdk1.8位置挪到了:/usr/java
下面,而openjdk的默认位置是/usr/bin/java
,接下来我们用:
sudo vim /etc/profile
(sudo是为了在root权限下运行,如果已是root用户不加也可以)
打开该文件后直接在最后面加上:
export JAVA_HOME=/usr/java/jdk1.8.0_241/
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar
然后我们就可以保存退出了
使用以下命令可使配置文件生效:
source /etc/profile
4.最后一步:配置链接组
虽然我们前面已经配置了路径,但是系统中默认的还是openjdk,所有我们要使用以下命令使编译和运行时用的javac
和java
指向我们所指向的地方:
sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_241/bin/javac 300
sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_241/bin/java 300
(最后面的300无特殊意义)
以上是针对java和javac都没有的用户执行的命令。
如果你已有java但却无javac,此时我们用的是替换命令:
(如果是有一条命令替换系统默认的另外一条命令。例如,原命令的路径为:/usr/bin/xxx,我们可采取的命令为:sudo update-alternatives --config xxx,由此可得到更新后的命令),故针对已有java版本的Linux系统我们可采用下面这条命令:
sudo update-alternatives --config java
由于我没有删掉前面的openjdk,故在我输入完这条命令后我进入了一个选择界面,选择自己想要的那个java,至此,就大功告成了。