Linux怎么安装Java_Linux如何配置JDK开发环境【教程】

陌静君_9514

陌静君_9514

2026-03-30

453人浏览

原创

必须先确认系统架构(x86_64/aarch64)和发行版(ubuntu/centos等),再下载匹配的jdk tar.gz包;推荐adoptium openjdk 17/21 lts,解压后正确设置java_home(指向根目录,非bin或~缩写),并用update-alternatives管理多版本。

linux怎么安装java_linux如何配置jdk开发环境【教程】

确认系统架构和JDK版本再下载

Linux装Java不是“下个包解压就行”,最容易卡在jdk-xx_linux-x64_bin.tar.gz和jdk-xx_linux-aarch64_bin.tar.gz选错——x86_64机器硬装aarch64包,java -version直接报cannot execute binary file: Exec format error。

先跑这条命令看清楚底子:
uname -m —— 输出x86_64还是aarch64(树莓派、Mac M系列虚拟机常见)
cat /etc/os-release —— 看是Ubuntu/Debian系还是CentOS/RHEL系,决定后续用apt还是yum/dnf

  • 生产环境建议用tar.gz手动解压方式,避免包管理器自动升级打乱JAVA_HOME
  • OpenJDK 17/21 是当前LTS主流,别碰JDK 8(已EOL)或JDK 22(非LTS)
  • Oracle JDK需登录账号下载,且商用要授权;Adoptium(Eclipse Temurin)是更稳妥的免费替代

解压后必须正确设置JAVA\_HOME和PATH

JAVA_HOME设错是配置失败的头号原因。它不能指向bin目录,也不能用~缩写,更不能漏掉版本子目录。

比如解压到/opt/jdk-17.0.1,那JAVA_HOME必须是/opt/jdk-17.0.1,不是/opt/jdk-17.0.1/bin,也不是~/jdk-17.0.1。

  • 临时生效:运行export JAVA_HOME=/opt/jdk-17.0.1和export PATH=$JAVA_HOME/bin:$PATH
  • 永久生效:写进~/.bashrc(普通用户)或/etc/profile.d/java.sh(全局),注意文件要有执行权限
  • 验证是否生效:echo $JAVA_HOME 和 which java 必须指向你刚解压的路径

多个JDK共存时用update-alternatives切版本(Debian/Ubuntu)

装了OpenJDK 11、17、21,但java -version始终不切换?说明没注册进update-alternatives体系,光改PATH没用。

核心三步:
sudo update-alternatives --install /usr/bin/java java /opt/jdk-17.0.1/bin/java 1701
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk-17.0.1/bin/javac 1701
sudo update-alternatives --config java —— 弹出菜单选编号

  • 优先级数字(如1701)越大,越可能被默认选中;不同JDK设不同值,避免冲突
  • --install只用一次,重复执行会多出冗余选项;删旧项用--remove
  • RHEL/CentOS用alternatives --install,命令参数基本一致

IDE或Maven仍报找不到tools.jar或javac?检查JDK完整包

某些精简版JDK(如Alpine Linux上的openjdk17-jre)根本不带javac和tools.jar,只够运行,没法编译——IDE新建项目失败、Maven报Cannot find symbol或Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin都源于此。

  • 确认安装的是jdk而非jre:解压目录里要有bin/javac和lib/tools.jar(JDK 9+后改名lib/classes.jar,但Maven插件仍依赖该路径结构)
  • IntelliJ IDEA里不要只信Project SDK下拉框,点进去看Path是不是真实指向jdk-xx根目录,而非/usr/lib/jvm/default-java这种软链(可能指向jre)
  • Maven项目若指定source/target为17,但mvn -v显示Java version是11,说明Maven没读取你的JAVA_HOME,得在~/.mavenrc里显式写export JAVA_HOME=...

真正麻烦的从来不是下载链接或解压命令,而是JAVA_HOME路径多一个字符、update-alternatives少注册一个javac、或者误装了jre包——这些地方一错,所有上层工具全瘫痪,还很难定位。

Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
eclipse教程
eclipse教程

php中文网为大家带来eclipse教程合集,eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。php中文网还为大家带来eclipse的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

610

5

eclipse怎么设置中文
eclipse怎么设置中文

eclipse设置中文的方法:除了设置界面为中文外,你还可以为Eclipse添加中文插件,以便更好地支持中文编程。例如,你可以安装EBNF插件来支持中文变量名,或安装Chinese Helper来提供中文帮助文档。本专题为大家提供eclipse设置中文相关的各种文章、以及下载和课程。

2023.07.24

5026

6

c语言编程软件有哪些
c语言编程软件有哪些

c语言编程软件有GCC、Clang、Microsoft Visual Studio、Eclipse、NetBeans、Dev-C++、Code::Blocks、KDevelop、Sublime Text和Atom。更多关于c语言编程软件的问题详情请看本专题的文章。php中文网欢迎大家前来学习。

2023.11.02

7699

18

Eclipse版本号有哪些区别
Eclipse版本号有哪些区别

区别:1、Eclipse 3.x系列:Eclipse的早期版本,包括3.0、3.1、3.2等;2、Eclipse 4.x系列:Eclipse的最新版本,包括4.0、4.1、4.2等;3、Eclipse IDE for Java Developers等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

2784

5

eclipse和idea有什么区别
eclipse和idea有什么区别

eclipse和idea的区别:1、平台支持;2、内存占用;3、插件系统;4、智能代码提示;5、界面设计;6、调试功能;7、学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

642

5

eclipse设置中文全教程
eclipse设置中文全教程

本专题整合了eclipse设置中文相关教程,阅读专题下面的文章了解更多详细操作。

2025.10.10

3246

11

eclipse字体放大教程
eclipse字体放大教程

本专题整合了eclipse字体放大教程,阅读专题下面的文章了解更多详细内容。

2025.10.10

3265

12

eclipse左边栏不见了解决方法
eclipse左边栏不见了解决方法

本专题整合了eclipse左边栏相关教程,阅读专题下面的文章了解更多详细内容。

2025.10.15

448

3

eclipse字体相关教程
eclipse字体相关教程

本专题整合了eclipse字体设置相关教程,阅读专题下面的文章了解更多详细内容。

2025.11.26

854

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习