
Ubuntu 24.04 生产环境 Adoptium Temurin JDK 8 安装与配置指南项目说明适用系统Ubuntu 24.04 LTSJava 版本8Temurin 8u492发行版Adoptium TemurinEclipse 基金会安装路径/usr/lib/jvm/temurin-8-jdk-amd64包管理APT通过 Adoptium 软件源许可证GPLv2 Classpath Exception推荐场景生产环境高可靠性、长期支持一、背景说明1.1 为什么选择 Adoptium TemurinAdoptium Temurin 是 Eclipse 基金会维护的 OpenJDK 官方发行版是生产环境的理想选择特性说明免费开源完全开源无商业授权限制长期支持LTS提供长期安全更新和 Bug 修复质量认证通过 Eclipse AQAvit 质量认证更新及时安全补丁快速响应社区活跃全球开发者维护可靠性高1.2 与 Oracle JDK 的对比对比项Adoptium TemurinOracle JDK许可证GPLv2 Classpath Exception商业/OTN商业使用✅ 免费❌ 需付费商业用途更新来源Eclipse 基金会Oracle 官方生产推荐✅推荐特殊需求时使用二、前提条件拥有服务器的root 权限或sudo权限。服务器能够访问互联网下载 GPG 密钥和软件包。确保apt包管理器工作正常。三、安装步骤3.1 安装依赖包sudoaptupdatesudoaptinstall-ywgetapt-transport-https gnupg3.2 添加 Adoptium GPG 密钥wget-O- https://packages.adoptium.net/artifactory/api/gpg/key/public|sudogpg--dearmor-o/usr/share/keyrings/adoptium.gpg3.3 添加 Adoptium 软件源echodeb [signed-by/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb$(awk-F/^VERSION_CODENAME/{print$2}/etc/os-release)main|sudotee/etc/apt/sources.list.d/adoptium.list3.4 更新软件包列表sudoaptupdate3.5 安装 Temurin JDK 8sudoaptinstall-ytemurin-8-jdk3.6 验证安装java-version预期输出openjdk version 1.8.0_492 OpenJDK Runtime Environment (Temurin)(build 1.8.0_492-b09) OpenJDK 64-Bit Server VM (Temurin)(build 25.492-b09, mixed mode)检查编译器javac-version预期输出javac 1.8.0_492四、配置 JAVA_HOME 环境变量4.1 为什么需要配置通过 APT 安装的 JDK系统已自动将java、javac命令链接到/usr/bin因此终端可直接运行这些命令。但以下场景必须配置JAVA_HOME应用类型示例是否需要 JAVA_HOME终端命令java -version手动执行 Java 命令❌ 不需要应用服务器Tomcat、Jetty、WildFly✅必须构建工具Maven、Gradle、Ant✅必须CI/CD 工具Jenkins、GitLab CI✅必须大数据组件Kafka、Elasticsearch、Hadoop✅必须监控工具JConsole、VisualVM✅推荐结论生产环境的 Java 应用几乎都依赖JAVA_HOME因此必须配置。4.2 确认 JDK 安装路径dirname$(dirname$(readlink-f$(whichjava)))输出/usr/lib/jvm/temurin-8-jdk-amd644.3 系统级配置推荐生产环境创建独立的配置文件/etc/profile.d/jdk.sh对所有用户生效便于管理和维护sudotee/etc/profile.d/jdk.shEOF JAVA_HOME/usr/lib/jvm/temurin-8-jdk-amd64 JRE_HOME$JAVA_HOME/jre CLASSPATH.:$JAVA_HOME/lib:$JRE_HOME/lib PATH$PATH:$JAVA_HOME/bin EOF使配置立即生效source/etc/profile验证配置echo$JAVA_HOME预期输出/usr/lib/jvm/temurin-8-jdk-amd64五、中文字体支持Graphics2D 生成图片必备5.1 为什么需要中文字体Java 应用程序通过Graphics2D生成图片如验证码、图表、水印等时文本渲染依赖于系统字体库。如果服务器未安装中文字体绘制中文时会显示为方块□或空白严重影响业务功能。前置检查Java 编码环境是否正常影响文件读写和字符串处理。java-XshowSettings:properties-version21|grepfile.encoding若输出file.encoding UTF-8则表示编码环境正常。但编码正常 ≠ 字体已安装需按以下步骤安装和验证中文字体。5.2 安装中文字体包Ubuntu 24.04 提供了多个开源中文字体推荐安装文泉驿系列免费开源许可友好sudoaptupdatesudoaptinstall-yfonts-wqy-zenhei fonts-wqy-microhei字体包描述许可证fonts-wqy-zenhei文泉驿正黑体黑体风格GPL-2.0 WITH Font-exceptionfonts-wqy-microhei文泉驿微米黑更细黑体Apache-2.0 OR GPL-3.0 WITH Font-exception可选安装如果需要更全的 CJK 字体可安装 Google Noto 字体sudoaptinstall-yfonts-noto-cjk5.3 验证字体安装安装完成后使用fc-list命令查看系统中所有已安装的字体并过滤中文fc-list :langzh预期输出应包含/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc: WenQuanYi Zen Hei:styleRegular /usr/share/fonts/truetype/wqy/wqy-microhei.ttc: WenQuanYi Micro Hei:styleRegular如果fc-list命令不存在请先安装fontconfigsudoaptinstall-yfontconfig六、管理多个 Java 版本如果系统同时存在多个 JDK 版本可使用update-alternatives管理。6.1 查看所有已安装的 Java 版本sudoupdate-alternatives--listjava6.2 交互式切换默认版本sudoupdate-alternatives--configjava6.3 命令行直接切换sudoupdate-alternatives--setjava/usr/lib/jvm/temurin-8-jdk-amd64/jre/bin/java七、生产环境最佳实践7.1 JVM 性能调优在生产环境中建议在应用启动脚本中添加 JVM 参数。以下是一组常用配置JAVA_OPTS-Xms2g -Xmx4g -XX:UseG1GC -XX:ParallelRefProcEnabled -XX:PrintGCDetails -XX:PrintGCDateStamps -Xloggc:/var/log/app/gc.log参数说明-Xms2g -Xmx4g初始和最大堆内存根据服务器内存调整-XX:UseG1GC使用 G1 垃圾回收器适用于大堆内存-XX:PrintGCDetails打印 GC 详细信息-Xloggc:/var/log/app/gc.log指定 GC 日志路径7.2 最小权限原则Java 应用程序应使用专用系统用户运行避免使用 root# 创建专用用户sudouseradd-r-s/sbin/nologin myapp# 设置应用目录权限sudochown-Rmyapp:myapp /opt/myappsudochmod-R750/opt/myapp7.3 安全更新定期更新 JDK 以获取安全补丁# 更新软件包列表sudoaptupdate# 仅更新 Temurin JDKsudoaptupgrade-ytemurin-8-jdk# 验证更新后的版本java-version7.4 安全加固建议加固项说明禁用 JMX 远程管理如非必要关闭 JMX 远程端口限制网络访问使用防火墙限制 Java 应用的监听端口禁用不安全协议在 Java 安全配置中禁用 SSLv3、TLSv1.0 等定期日志审查监控 GC 日志和应用日志及时发现异常八、验证部署8.1 基础验证清单# 1. Java 版本java-version# 2. 编译器版本javac-version# 3. JAVA_HOME 变量echo$JAVA_HOME# 4. JDK 安装路径ls-la/usr/lib/jvm/temurin-8-jdk-amd64# 5. 查看完整 JDK 配置java-XshowSettings:properties-version# 6. 中文字体验证fc-list :langzh8.2 Graphics2D 字体渲染测试生产环境关键验证以下测试将生成一张包含中文、英文、数字的 PNG 图片使用系统常规字体渲染用于验证 Java 图形环境能否正确渲染多语言文本。请按顺序执行。步骤 1创建测试文件FontTest.javacatFontTest.javaEOF import java.awt.*; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import java.io.File; public class FontTest { public static void main(String[] args) throws Exception { int width 600; int height 300; BufferedImage image new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g2d image.createGraphics(); // 设置背景为白色 g2d.setColor(Color.WHITE); g2d.fillRect(0, 0, width, height); // 使用系统常规字体普通样式非加粗 Font font new Font(WenQuanYi Micro Hei, Font.PLAIN, 42); g2d.setFont(font); g2d.setColor(Color.BLACK); // 绘制混合内容中文 英文 数字 g2d.drawString(你好 World 2026, 50, 120); // 换一种字体样式展示同一字体不同大小 Font smallFont new Font(WenQuanYi Micro Hei, Font.PLAIN, 28); g2d.setFont(smallFont); g2d.drawString(中文 English 1234567890, 50, 200); // 再展示一种不同风格的字体Zen Hei Font zenFont new Font(WenQuanYi Zen Hei, Font.PLAIN, 36); g2d.setFont(zenFont); g2d.drawString(文泉驿正黑 | Zen Hei | 2026, 50, 260); g2d.dispose(); File output new File(font-test.png); ImageIO.write(image, png, output); System.out.println(测试图片已生成: output.getAbsolutePath()); System.out.println(请下载并打开 font-test.png检查以下内容是否显示正常); System.out.println( - 第1行你好 World 2026); System.out.println( - 第2行中文 English 1234567890); System.out.println( - 第3行文泉驿正黑 | Zen Hei | 2026); System.out.println(); System.out.println(如果所有文字显示清晰且无方块则中文字体配置正确。); } } EOF步骤 2编译测试程序javac FontTest.java步骤 3运行测试程序javaFontTest预期输出测试图片已生成: /path/to/font-test.png 请下载并打开 font-test.png检查以下内容是否显示正常 - 第1行你好 World 2026 - 第2行中文 English 1234567890 - 第3行文泉驿正黑 | Zen Hei | 2026 如果所有文字显示清晰且无方块则中文字体配置正确。步骤 4验证图片内容将生成的font-test.png下载到本地并打开检查图片中三行文字是否正确显示行内容验证要点1你好 World 2026中文 英文 数字混合显示2中文 English 1234567890中文 英文 数字不同字号3文泉驿正黑 | Zen Hei | 2026不同字体正黑体显示判断标准✅通过所有文字清晰显示中文无方块英文和数字正常。❌失败任何一行出现方块□或空白 → 检查中文字体是否已安装参考 5.3 节安装后重新运行测试。步骤 5清理测试文件可选rm-fFontTest.java FontTest.class font-test.png九、完整安装脚本以下是一键安装脚本可保存为install-java8.sh#!/bin/bashset-eecho 开始安装 Adoptium Temurin JDK 8 # 1. 安装依赖echo安装依赖...sudoaptupdatesudoaptinstall-ywgetapt-transport-https gnupg# 2. 添加 GPG 密钥echo添加 Adoptium GPG 密钥...wget-O- https://packages.adoptium.net/artifactory/api/gpg/key/public|sudogpg--dearmor-o/usr/share/keyrings/adoptium.gpg# 3. 添加软件源echo添加 Adoptium 软件源...echodeb [signed-by/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb$(awk-F/^VERSION_CODENAME/{print$2}/etc/os-release)main|sudotee/etc/apt/sources.list.d/adoptium.list# 4. 更新并安装echo更新软件包列表...sudoaptupdateecho安装 Temurin JDK 8...sudoaptinstall-ytemurin-8-jdk# 5. 安装中文字体必须否则Graphics2D生成中文会出问题echo安装中文字体...sudoaptinstall-yfonts-wqy-zenhei fonts-wqy-microhei fontconfig# 6. 配置 JAVA_HOMEecho配置 JAVA_HOME...sudotee/etc/profile.d/jdk.shEOF export JAVA_HOME/usr/lib/jvm/temurin-8-jdk-amd64 export JRE_HOME$JAVA_HOME/jre export CLASSPATH.:$JAVA_HOME/lib:$JRE_HOME/lib export PATH$PATH:$JAVA_HOME/bin EOFsource/etc/profileecho 安装完成 echoJAVA_HOME:$JAVA_HOMEecho请执行 source /etc/profile 使环境变量生效运行脚本chmodx install-java8.sh ./install-java8.sh十、常见问题排查问题现象可能原因解决方法add-apt-repository: command not found缺少软件源管理工具sudo apt install -y software-properties-commongpg: command not found缺少 gnupg 工具sudo apt install -y gnupgUnable to locate package temurin-8-jdk软件源未正确添加重新执行 3.2 和 3.3 步骤确认sudo apt update无报错java: command not foundJAVA_HOME 未配置或 PATH 未包含检查echo $JAVA_HOME和echo $PATHjavac: command not found只安装了 JRE 未安装 JDK确认安装的是temurin-8-jdk而非temurin-8-jre多个 Java 版本冲突系统存在多个 JDK使用update-alternatives --config java切换应用启动报错JAVA_HOME not found环境变量未配置按第四节配置JAVA_HOMEGraphics2D 中文显示方块系统缺少中文字体按第五节安装中文字体并执行 8.2 节测试验证fc-list: command not found系统未安装 fontconfigsudo apt install -y fontconfig十一、安装信息汇总项目值Java 版本8u492JDK 包名temurin-8-jdk安装路径/usr/lib/jvm/temurin-8-jdk-amd64JAVA_HOME/usr/lib/jvm/temurin-8-jdk-amd64可执行文件/usr/lib/jvm/temurin-8-jdk-amd64/bin/java环境变量文件/etc/profile.d/jdk.sh中文字体包fonts-wqy-zenhei,fonts-wqy-microhei更新命令sudo apt update sudo apt upgrade -y temurin-8-jdk许可证GPLv2 Classpath Exception附录常用命令速查操作命令查看 Java 版本java -version查看编译器版本javac -version查看 JAVA_HOMEecho $JAVA_HOME查看所有 Java 版本sudo update-alternatives --list java切换默认 Javasudo update-alternatives --config java查看 JDK 安装路径sudo update-alternatives --display java查看完整 JDK 信息java -XshowSettings:properties -version更新 JDKsudo apt upgrade -y temurin-8-jdk查看当前使用的 Javawhich java验证中文字体fc-list :langzh文档版本2.2适用系统Ubuntu 24.04 LTSJava 版本Adoptium Temurin 8u492最后更新2026-07-17