CentOS 上编译 Java主要有这几类角色/场景,我按“谁”来分类说明,基本能覆盖你问的意图:
谁:程序员、后端开发、学生
.java → .classjavac HelloWorld.java
java HelloWorld
yum install java-1.8.0-openjdk-devel
注意:必须安装 devel 版本,否则没有
javac
✅ 适合:学习、开发、调试
谁:运维、SRE、实施人员
JAVA_HOMEalternatives --config java
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
✅ 适合:生产环境、服务器部署
谁:Jenkins、GitLab CI、构建机
mvn package
gradle build
javac✅ 适合:自动化构建、打包、发布
谁:JDK 贡献者、底层工程师
gccmakeautoconfbash configure
make images
✅ 适合:研究 JVM、定制 JDK
谁:云原生开发者
FROM centos:7
RUN yum install -y java-17-openjdk-devel
✅ 现在越来越常见
| 角色 | 是否“编译 Java” |
|---|---|
| 普通开发者 | ✅ javac |
| 运维 | ✅ 安装 JDK |
| CI/构建系统 | ✅ Maven/Gradle |
| JDK 研究者 | ✅ 编译 OpenJDK |
| Docker 用户 | ✅ 容器里编译 |
如果你愿意,可以告诉我:
我可以直接给你最合适、最简的编译方案。