Ubuntu 20.04 LTS - 配置 OpenJDK 8 开发环境

发布时间:2026/6/28 23:54:21
Ubuntu 20.04 LTS - 配置 OpenJDK 8 开发环境 1. 为什么选择Ubuntu 20.04 LTS和OpenJDK 8如果你正在搭建一个Java开发环境特别是需要运行一些老项目或者Hadoop、Spark这类大数据框架Ubuntu 20.04 LTS和OpenJDK 8的组合是个非常稳妥的选择。Ubuntu 20.04 LTS作为长期支持版本提供了5年的安全更新这意味着你可以获得一个稳定可靠的开发平台。而OpenJDK 8虽然已经不算最新版本但仍然是很多企业级应用的标准配置特别是那些还没有迁移到新版本Java的项目。我在实际工作中遇到过不少这样的情况新项目可以用Java 11甚至17但维护老项目时还是得老老实实用Java 8。有一次接手一个Spark项目用Java 11跑起来各种兼容性问题换回Java 8就一切正常了。这也是为什么很多开发者服务器上都会同时安装多个Java版本的原因。2. 准备工作系统更新与检查在开始安装之前我们需要确保系统是最新的。这不仅能避免一些潜在的依赖问题还能提高安全性。打开终端运行以下命令sudo apt update sudo apt upgrade -y这个步骤可能会花点时间取决于你的网络速度和系统更新量。我建议在服务器负载低的时候进行特别是生产环境。有一次我在高峰期更新结果因为网络问题导致部分包下载失败后来不得不手动修复依赖关系。更新完成后我们可以先检查下系统是否已经安装了Javajava -version如果看到类似Command java not found的提示说明系统里确实没有安装Java。但如果已经安装了其他版本的Java你可能需要考虑是否需要保留多版本共存。我通常会保留多个Java版本通过update-alternatives来切换这在开发不同项目时特别有用。3. 安装OpenJDK 8完整开发环境现在来到核心步骤 - 安装OpenJDK 8。很多人可能只安装JREJava运行时环境但作为开发者我们需要完整的JDKJava开发工具包。执行以下命令sudo apt install openjdk-8-jdk这个命令会自动安装JDK和所有必要的依赖项。你会看到apt列出了将要安装的包包括openjdk-8-jdk完整的开发工具包openjdk-8-jreJava运行时环境各种依赖库和工具安装过程中系统会提示你确认磁盘空间使用大约需要160MB左右。按y继续。这里有个小技巧如果你只是想试试看可以先不安装用apt show openjdk-8-jdk查看详细信息包括安装大小。我曾经在一个磁盘空间紧张的服务器上安装结果因为空间不足失败了。后来发现是因为/var/cache/apt/archives里堆积了太多旧的deb包。清理后顺利安装sudo apt clean4. 验证安装与基本配置安装完成后我们需要确认一切正常。首先检查Java版本java -version应该能看到类似这样的输出openjdk version 1.8.0_312 OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07) OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)接着检查编译器是否可用javac -version这两个命令都正常工作的话说明基本环境已经就绪。但要让Java程序能正确运行还需要设置一个关键环境变量JAVA_HOME。5. 设置JAVA_HOME环境变量很多Java工具如Maven、Gradle和应用程序如Tomcat都需要知道Java安装位置这就是JAVA_HOME的作用。首先找出Java的安装路径sudo update-alternatives --config java这会列出系统里所有Java安装看起来像这样There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java记下路径去掉最后的/bin/java部分然后编辑/etc/environment文件sudo nano /etc/environment在文件末尾添加JAVA_HOME/usr/lib/jvm/java-8-openjdk-amd64保存退出后运行以下命令使更改生效source /etc/environment echo $JAVA_HOME这里有个容易踩的坑如果你同时在多个终端窗口工作记得在每个需要用到JAVA_HOME的窗口都执行source命令或者干脆注销重新登录。我有次调试了半天为什么Maven找不到JAVA_HOME结果发现是因为开了新终端窗口没重新加载环境变量。6. 多版本Java管理可选如果你的系统需要同时安装多个Java版本可以使用update-alternatives来管理。比如安装Java 11sudo apt install openjdk-11-jdk然后配置默认版本sudo update-alternatives --config java系统会列出所有已安装的Java版本让你选择默认使用哪个。同样的方法也适用于javac等工具。我在开发机上通常会保留Java 8和11根据项目需要切换。7. 常见问题排查即使按照步骤操作有时也会遇到问题。这里分享几个我遇到过的典型问题及解决方法问题1安装后java命令仍然找不到这通常是因为PATH没设置正确。可以检查which java echo $PATH确保/usr/bin在PATH中。如果没有可以手动添加export PATH$PATH:/usr/bin问题2程序运行时报版本不兼容如果遇到类似Unsupported major.minor version的错误说明编译和运行使用的Java版本不一致。用java -version和javac -version检查是否匹配。问题3内存不足Java程序特别是服务器应用可能需要更多内存。可以编辑/etc/environment添加JAVA_OPTS-Xms512m -Xmx1024m8. 开发环境优化建议基础环境配置好后还可以做些优化让开发更顺畅安装IDE推荐IntelliJ IDEA或Eclipse。可以直接用snap安装sudo snap install intellij-idea-community --classic配置Mavensudo apt install maven mkdir ~/.m2 cp /etc/maven/settings.xml ~/.m2/安装构建工具sudo apt install gradle设置时区Java应用对时区敏感建议统一设置sudo timedatectl set-timezone Asia/Shanghai日志管理安装logrotate管理Java应用日志sudo apt install logrotate配置完成后你可以写个简单的HelloWorld程序测试下public class HelloWorld { public static void main(String[] args) { System.out.println(Hello, Java 8 on Ubuntu 20.04!); } }保存为HelloWorld.java然后编译运行javac HelloWorld.java java HelloWorld看到输出就说明你的Java开发环境已经完全准备好了。这套配置在我负责的多个生产环境项目中运行稳定特别是那些使用Hadoop和Spark的大数据项目。对于新接触Ubuntu的Java开发者建议把常用命令写成脚本方便下次快速配置。