Linux如何安装JDK11_Linux环境变量配置与Java开发环境搭建【教程】
技术百科
尼克
发布时间:2026-01-01
浏览: 次 需安装JDK 11才能运行Java应用或开发:一、APT安装OpenJDK 11(Ubuntu/Debian);二、手动解压Oracle JDK 11;三、配置全局环境变量;四、配置用户级环境变量;五、验证java/javac版本及JAVA_HOME、PATH。
如果您在Linux系统中需要运行Java应用程序或进行Java开发,但系统中尚未安装JDK 11,则无法执行javac、java等命令。以下是针对不同安装方式的详细操作步骤:
一、使用APT包管理器安装OpenJDK 11(适用于Ubuntu/Debian)
该方法通过系统官方仓库获取预编译的OpenJDK 11包,安装过程自动处理依赖并配置基础环境路径,适合快速部署。
1、更新软件包索引:sudo apt update
2、安装OpenJDK 11开发包:sudo apt install openjdk-11-jdk
3、验证安装是否成功:java -version
二、手动下载并解压Oracle JDK 11(适用于所有Linux发行版)
此方式可获得Oracle官方构建的JDK 11,适用于需特定合规性或功能支持的场景,需用户自行管理安装路径与环境变量。
1、访问Oracle官网下载页面,获取Linux x64平台的tar.gz格式JDK 11压缩包(需登录Oracle账户)
2、将压缩包上传至目标服务器任意目录(如/opt),然后执行解压:sudo tar -xzf jdk-11.*_linux-x64_bin.tar.gz -C /opt/
3、确认解压后目录名称,通常为/opt/jdk-11.*,记录其完整绝对路径
三、配置全局环境变量(适用于所有安装方式)
将JDK的bin目录加入PATH,并设置JAVA_HOME指向JDK根目录,确保终端会话及系统服务均可识别Java运行时与开发工具。
1、编辑系统级环境配置文件:s
udo nano /etc/environment
2、在文件末尾追加两行(请将/path/to/jdk-11替换为实际JDK安装路径):JAVA_HOME="/path/to/jdk-11"
3、在同一文件中修改PATH行,追加JDK的bin目录:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin"
4、使环境变量生效:source /etc/environment
四、配置用户级环境变量(替代方案)
当无root权限或仅需当前用户可用Java时,可在用户主目录下的shell配置文件中定义变量,避免影响其他用户。
1、判断当前shell类型:echo $SHELL(常见为/bin/bash或/bin/zsh)
2、根据shell类型编辑对应配置文件:nano ~/.bashrc 或 nano ~/.zshrc
3、在文件末尾添加以下两行(路径需替换为实际JDK路径):export JAVA_HOME=/path/to/jdk-11
4、继续添加:export PATH=$JAVA_HOME/bin:$PATH
5、重新加载配置:source ~/.bashrc 或 source ~/.zshrc
五、验证Java开发环境完整性
完成安装与环境变量配置后,需分别验证Java运行时、编译器及环境变量是否正确加载,排除路径冲突或版本残留问题。
1、检查Java运行时版本:java -version
2、检查Java编译器是否存在:javac -version
3、确认JAVA_HOME变量值:echo $JAVA_HOME
4、确认PATH中包含JDK bin路径:echo $PATH | grep java
# 配置文件
# 工具
# linux
# ubuntu
# linux系统
# 环境变量
# java
# 解压
# 开发环境
# 环境配置
# oracle
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Python项目维护经验_长期演进说明【指导】
- 如何使用Golang log记录不同级别日志_Go
- MAC如何隐藏文件夹及文件_MAC终端命令隐藏与第
- Mac如何设置动态壁纸?(让桌面动起来)
- Win11怎么清理C盘下载文件夹_Win11清理下
- c++如何打印函数堆栈信息_c++ backtra
- 如何使用正则表达式批量替换重复的“-”模式为固定字
- 如何在 Pandas 中按元素交集合并两列字符串
- 如何用正则与预处理结合精准拦截拼接式垃圾域名
- C++如何获取CPU核心数?(std::threa
- Go语言中slice追加操作的底层共享机制详解
- Win11怎么修复系统文件_使用sfc命令修复Wi
- 如何在Golang中实现自定义Benchmark_
- Python装饰器设计思路_功能增强机制说明【指导
- 如何使用Golang模拟请求超时_Golang c
- php中self::能调用子类重写的方法吗_静态绑
- PHP主流架构如何做单元测试_工具与流程【详解】
- MySQL 中使用 IF 和 CASE 实现查询字
- 用Python构建微服务架构实践_FastAPI与
- 如何使用Golang sort排序切片_Golan
- 如何在 Go 同包不同文件中正确引用结构体
- php增删改查在php8里有什么变化_新特性对cu
- Win11怎么开启专注模式_Windows11时钟
- Mac怎么开启“任何来源”_Mac安装未签名应用的
- Windows系统时间服务错误_W32Time服务
- Win11怎么关闭通知中心_Windows11系统
- MAC如何启用访达侧边栏显示_MAC Finder
- Win10电脑怎么设置网络名称_Windows10
- Win11怎么设置默认邮件应用_Windows11
- Win11怎么查看电脑配置_Win11硬件配置详细
- 如何在JavaScript中动态拼接PHP的bas
- Laravel 查询 JSON 列:高效筛选包含数
- 如何使用Golang实现路由参数绑定_使用Mux和
- Windows 11怎么设置默认解压软件_Wind
- Python邮件系统自动化教程_批量发送解析与模板
- 如何在 Go 开发中正确处理本地包导入与远程模块路
- Win11如何卸载OneDrive_Win11卸载
- Win11怎么设置ipv4地址_Windows 1
- c++中如何对数组进行排序_c++数组排序算法汇总
- 如何在同包不同文件中正确引用 Go 结构体
- windows系统找不到无线网络怎么办_windo
- c++中explicit(bool)的用法 c++
- Win11声音忽大忽小怎么办 Win11音频增强功
- Win11怎样安装剪映专业版_Win11安装剪映教
- 如何在Golang中指定模块版本_使用go.mod
- Golang如何实现基本的用户注册_Golang用
- PythonDocker高级项目部署教程_多容器管
- Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱
- Go 中的 := 运算符:类型推导机制与使用边界详
- Win11怎么设置虚拟键盘_打开Win11屏幕键盘

QQ客服