0

0

Ubuntu系统如何配置OpenJDK_Linux环境Java开发工具包安装指南

P粉602998670

P粉602998670

发布时间:2026-03-05 05:23:21

|

996人浏览过

|

来源于php中文网

原创

推荐用 apt 安装 openjdk(如 openjdk-17-jdk),系统自动配置 update-alternatives 和 java_home;避免手动解压 tar.gz,否则易引发版本不一致、ide 识别失败及构建错误。

ubuntu系统如何配置openjdk_linux环境java开发工具包安装指南

Ubuntu 上装 OpenJDK,直接用 apt 装系统包最稳,别自己下 tar.gz 手动配 JAVA_HOME —— 90% 的环境变量问题和权限错误都源于此。

怎么用 apt 装 OpenJDK(推荐 Ubuntu 22.04+)

Ubuntu 官方仓库的 OpenJDK 更新及时、依赖自动处理、卸载干净。手动解压安装容易漏 java 命令软链或触发 update-alternatives 冲突。

  • 查可用版本:apt list -a openjdk-*-jdk(常见有 openjdk-17-jdkopenjdk-21-jdk
  • 装 JDK 17(LTS,生产常用):sudo apt install openjdk-17-jdk
  • 验证:java -versionjavac -version 应输出一致版本
  • JAVA_HOME 通常无需手动设 —— Ubuntu 的 openjdk-*-jdk 包会自动注册到 /usr/lib/jvm/,且 java 命令已由 update-alternatives 管理

为什么不要手动解压 tar.gz 配 JAVA_HOME

手动安装看似“可控”,实则绕过系统包管理,后续升级、多版本切换、IDE 识别都会出问题。尤其 JAVA_HOME 指向错误路径或权限不足时,Maven/Gradle 构建常报 UnsupportedClassVersionError 或找不到 tools.jar(其实 JDK 9+ 已移除该 jar)。

  • 典型错误现象:mvn compileFailed to execute goal org.apache.maven.plugins:maven-compiler-plugin:... Unsupported major.minor version → 实际是 Maven 用了旧版 JRE,而非项目配置问题
  • 手动安装后若硬设 JAVA_HOME=/opt/jdk-17.0.1,但没运行 sudo update-alternatives --install ...,会导致终端里 java 和 IDE 里看到的 Java 版本不一致
  • Ubuntu 的 openjdk-*-jdk 包默认把 JAVA_HOME 设为 /usr/lib/jvm/java-17-openjdk-amd64(路径含架构名),这个路径才是 update-alternatives 认可的“权威位置”

多版本共存时如何安全切换

update-alternatives 切换,不是改 JAVA_HOME 或删软链。系统级命令(javajavackeytool)必须同步,否则 Gradle wrapper 可能用错编译器。

知鹿匠
知鹿匠

知鹿匠教师AI工具,新课标教案_AI课件PPT_作业批改

下载

立即学习Java免费学习笔记(深入)”;

  • 查看当前配置:update-alternatives --list java
  • 交互式切换:sudo update-alternatives --config java(会列出所有已注册的 java 实例,含不同 JDK 版本)
  • 注意:只运行 --config java 不等于 javac 也切了 —— 必须对 javac 单独执行一次 sudo update-alternatives --config javac
  • 验证是否真切换成功:readlink -f $(which java)readlink -f $(which javac) 输出路径应指向同一 JDK 版本子目录

IntelliJ / VS Code 识别不到 JDK 怎么办

IDE 不读系统 JAVA_HOME,而是依赖 update-alternatives 注册的路径或手动指定的 /usr/lib/jvm/... 目录。强行在 IDE 设置里填 $JAVA_HOME 环境变量是无效的。

  • IntelliJ:File → Project Structure → SDKs → “+” → “Add JDK” → 选 /usr/lib/jvm/java-17-openjdk-amd64(路径末尾不含 /jre
  • VS Code + Extension Pack for Java:打开命令面板(Ctrl+Shift+P)→ “Java: Configure Java Runtime” → 在 “Java Runtime” 标签下点 “Add Runtime…” → 浏览到 /usr/lib/jvm/java-17-openjdk-amd64
  • 别选 /usr/lib/jvm/java-17-openjdk-amd64/jre —— JDK 11+ 已无独立 JRE,选错会导致 “No Java runtime present” 提示
  • 如果 IDE 显示 “corrupted JDK”,大概率是权限问题:检查 /usr/lib/jvm/java-17-openjdk-amd64bin/java 是否可执行(ls -l /usr/lib/jvm/java-17-openjdk-amd64/bin/java,应有 x 权限)

最易被忽略的是:javacjavaupdate-alternatives 配置必须分别确认,IDE 编译和运行用的是两个不同的入口点。很多人只切了 java,结果项目能跑但编译报错,卡半天才想起 javac 还钉在 JDK 11 上。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

0

2025.09.15

apache是什么意思
apache是什么意思

Apache是Apache HTTP Server的简称,是一个开源的Web服务器软件。是目前全球使用最广泛的Web服务器软件之一,由Apache软件基金会开发和维护,Apache具有稳定、安全和高性能的特点,得益于其成熟的开发和广泛的应用实践,被广泛用于托管网站、搭建Web应用程序、构建Web服务和代理等场景。本专题为大家提供了Apache相关的各种文章、以及下载和课程,希望对各位有所帮助。

419

2023.08.23

apache启动失败
apache启动失败

Apache启动失败可能有多种原因。需要检查日志文件、检查配置文件等等。想了解更多apache启动的相关内容,可以阅读本专题下面的文章。

937

2024.01.16

Java 流式处理与 Apache Kafka 实战
Java 流式处理与 Apache Kafka 实战

本专题专注讲解 Java 在流式数据处理与消息队列系统中的应用,系统讲解 Apache Kafka 的基础概念、生产者与消费者模型、Kafka Streams 与 KSQL 流式处理框架、实时数据分析与监控,结合实际业务场景,帮助开发者构建 高吞吐量、低延迟的实时数据流管道,实现高效的数据流转与处理。

124

2026.02.04

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

845

2023.10.27

ubunt上安装和配置vnc
ubunt上安装和配置vnc

安装方法:安装VNC服务器、启动VNC服务器、设置VNC密码等等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

426

2023.12.28

ubuntu启动黑屏解决方法
ubuntu启动黑屏解决方法

ubuntu启动黑屏解决方法:检查是否是电源问题、检查内存是否接触不良、检查显卡问题等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

673

2023.12.28

为什么ubuntu有网络连接但不能上网
为什么ubuntu有网络连接但不能上网

ubuntu有网络连接但不能上网的原因:1、dns配置问题;2、代理服务器设置问题;3、网络防火墙设置问题;4、路由器或调制解调器设置问题;5、网络驱动程序问题;6、网络配置文件问题;7、其他问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

476

2024.09.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

4

2026.03.04

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.1万人学习

Git 教程
Git 教程

共21课时 | 4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号