温馨提示×

centos编译java版本咋选择

小樊
46
2026-09-15 11:39:12
栏目: 编程语言

CentOS 上“编译 Java”通常有两种理解,我分开说,方便你对号入座:


一、如果你是说:在 CentOS 上 选择用哪个 JDK 来编译 Java 程序

1️⃣ 查看系统已安装的 Java 版本

java -version
javac -version

2️⃣ 安装不同版本的 JDK(常见方式)

✅ 方式一:使用 yum(CentOS 7/8)

# OpenJDK 8
yum install java-1.8.0-openjdk-devel

# OpenJDK 11
yum install java-11-openjdk-devel

# OpenJDK 17(CentOS 8+)
yum install java-17-openjdk-devel

✅ 方式二:手动安装(推荐生产环境)

从 Oracle / Adoptium / Azul 下载:

tar -xzf jdk-17_linux-x64_bin.tar.gz -C /usr/local/

配置环境变量:

export JAVA_HOME=/usr/local/jdk-17
export PATH=$JAVA_HOME/bin:$PATH

3️⃣ 多版本切换(很常用)

alternatives --config java
alternatives --config javac

或者直接用:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH

4️⃣ 编译时指定 Java 版本(Maven / Gradle)

Maven 示例

<properties>
  <maven.compiler.source>11</maven.compiler.source>
  <maven.compiler.target>11</maven.compiler.target>
</properties>

或:

mvn clean package -Dmaven.compiler.release=11

直接 javac

javac -source 11 -target 11 App.java

二、如果你是说:在 CentOS 上 编译 OpenJDK 源码(自己构建 JDK)

那就不是“选 Java 版本”这么简单了,而是:

1️⃣ 不同 JDK 版本依赖不同 Boot JDK

要编译的 JDK 需要的 Boot JDK
JDK 8 JDK 7
JDK 11 JDK 10/11
JDK 17 JDK 16/17
JDK 21 JDK 20/21

2️⃣ 基本流程(以 JDK 17 为例)

# 安装依赖
yum groupinstall "Development Tools"
yum install libXtst-devel libXrender-devel cups-devel fontconfig-devel

# 配置
bash configure --with-boot-jdk=/usr/lib/jvm/java-17

# 编译
make images

三、该怎么选版本?给你建议

场景 推荐
老系统 / 传统企业 Java 8
新项目 / 微服务 Java 11 / 17
云原生 / 长期支持 Java 17(LTS)
学习 / 实验 Java 21

如果你能补充一下:

  • CentOS 版本(7 / 8 / Stream)
  • 编译自己的 Java 程序 还是 编译 JDK
  • 用 Maven / Gradle / 裸 javac

我可以直接给你一套可复制的命令

0