Linux Ubuntu中配置安装Java

发布时间:2026/7/21 16:47:01
Linux Ubuntu中配置安装Java 目录一. 通过apt安装java1.1 列出所有可用java版本1.2 安装指定java版本1.3 安装后确认1.4 /etc/alternatives/目录二. 手动配置免安装版java2.1 使用update-alternatives命令配置2.2 在.bashrc文件中配置一. 通过apt安装java1.1 列出所有可用java版本apt list openjdk-*jdkapluserubuntu24-01:~$aptlist openjdk-*jdk Listing... Done openjdk-11-jdk/noble-updates,noble-security11.0.259-1ubuntu1~24.04 amd64 openjdk-17-jdk/noble-updates,noble-security,now17.0.1311-2ubuntu1~24.04 amd64 openjdk-21-jdk/noble-updates,noble-security21.0.511-1ubuntu1~24.04 amd64 openjdk-8-jdk/noble-updates,noble-security 8u432-ga~us1-0ubuntu2~24.04 amd641.2 安装指定java版本sudoaptinstallopenjdk-17-jdk1.3 安装后确认通过apt命令安装java的话系统会自动为我们设置好环境变量无需手动配置通过java -version命令查看java版本apluserubuntu24-01:~$java-versionopenjdk version17.0.132024-10-15 OpenJDK Runtime Environment(build17.0.1311-Ubuntu-2ubuntu124.04)OpenJDK64-Bit Server VM(build17.0.1311-Ubuntu-2ubuntu124.04, mixed mode, sharing)1.4/etc/alternatives/目录通过which命令查看java命令的位置可以看到/usr/bin/下的java命令是通过/etc/alternatives/java通过链接创建的而/etc/alternatives/java中的java指向的才是openjdk-17-jdk安装目录中的javaapluserubuntu24-01:~$whichjava/usr/bin/java apluserubuntu24-01:~$ apluserubuntu24-01:~$ls-l/usr/bin/java lrwxrwxrwx1root root22Oct2214:46 /usr/bin/java -/etc/alternatives/java apluserubuntu24-01:~$ apluserubuntu24-01:~$ls-l/etc/alternatives/java lrwxrwxrwx1root root43Oct2214:46 /etc/alternatives/java -/usr/lib/jvm/java-17-openjdk-amd64/bin/java apluserubuntu24-01:~$ apluserubuntu24-01:~$ls-l/usr/lib/jvm/java-17-openjdk-amd64/bin/java -rwxr-xr-x1root root14464Oct2214:46 /usr/lib/jvm/java-17-openjdk-amd64/bin/java⏹/etc/alternatives/目录的作用管理符号链接/etc/alternatives/目录中的每个文件或目录都是一个符号链接指向系统中实际的程序或资源文件。统一管理多版本程序允许用户在安装多个版本的同一程序时通过update-alternatives工具来选择默认版本。方便用户切换工具避免直接修改路径或手动管理多个安装目录中的可执行文件。⏹当我们的系统中安装了多个版本的java时就可以通过sudo update-alternatives --config java来切换java版本apluserubuntu24-01:~$sudoupdate-alternatives--configjava[sudo]passwordforapluser: There is1choiceforthe alternativejava(providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ *0/usr/lib/jvm/java-17-openjdk-amd64/bin/java1711auto mode1/usr/lib/jvm/java-17-openjdk-amd64/bin/java1711manual mode Pressenterto keep the current choice[*], ortypeselection number:二. 手动配置免安装版java从官网下载免安装版的jdk安装包然后将其配置到下面的路径中apluserubuntu22-1:~$ls-ld/opt/jdk drwxr-xr-x3apluser apluser4096Jul515:09 /opt/jdk apluserubuntu22-1:~$ls-l/opt/jdk/jdk25/bin/java -rwxr-xr-x1apluser apluser16280Apr2023:12 /opt/jdk/jdk25/bin/java2.1 使用update-alternatives命令配置使用update-alternatives命令配置jdk的环境变量 (Linux 最规范)apluserubuntu22-1:~$sudoupdate-alternatives--install/usr/bin/javajava/opt/jdk/jdk25/bin/java100update-alternatives: using /opt/jdk/jdk25/bin/java to provide /usr/bin/java(java)inauto mode apluserubuntu22-1:~$ apluserubuntu22-1:~$sudoupdate-alternatives--install/usr/bin/javac javac /opt/jdk/jdk25/bin/javac100update-alternatives: using /opt/jdk/jdk25/bin/javac to provide /usr/bin/javac(javac)inauto mode apluserubuntu22-1:~$ apluserubuntu22-1:~$sudoupdate-alternatives--configjavaThere is only one alternativeinlinkgroupjava(providing /usr/bin/java): /opt/jdk/jdk25/bin/java Nothing to configure. apluserubuntu22-1:~$ apluserubuntu22-1:~$ update-alternatives--displayjavajava- auto modelinkbest version is /opt/jdk/jdk25/bin/javalinkcurrently points to /opt/jdk/jdk25/bin/javalinkjavais /usr/bin/java /opt/jdk/jdk25/bin/java - priority100apluserubuntu22-1:~$如果要删除的话sudoupdate-alternatives--removejava/opt/jdk/jdk25/bin/javasudoupdate-alternatives--removejavac /opt/jdk/jdk25/bin/javac环境变量配置成功apluserubuntu22-1:~$whichjava/usr/bin/java apluserubuntu22-1:~$ apluserubuntu22-1:~$ls-l/usr/bin/java lrwxrwxrwx1root root22Jul2021:58 /usr/bin/java -/etc/alternatives/java apluserubuntu22-1:~$ apluserubuntu22-1:~$ls-l/etc/alternatives/java lrwxrwxrwx1root root23Jul2021:58 /etc/alternatives/java -/opt/jdk/jdk25/bin/java apluserubuntu22-1:~$ apluserubuntu22-1:~$ls-l/opt/jdk/jdk25/bin/java -rwxr-xr-x1apluser apluser16280Apr2023:12 /opt/jdk/jdk25/bin/java apluserubuntu22-1:~$2.2 在.bashrc文件中配置测试环境中简单配置使用因为配置在当前用户中配置其他用户无法使用。# 编辑.bashrc文件vim~/.bashrc# 向文件中加入下面的内容,JAVA_HOME的路径对应java安装包的路径exportJAVA_HOME/opt/jdk/jdk25exportPATH$JAVA_HOME/bin:$PATH# 执行如下命令使配置生效source~/.bashrc