温馨提示×

CentOS在哪编译Java

小樊
34
2026-07-09 09:12:34
栏目: 编程语言

CentOS 上“编译 Java”通常有两种理解,我分别说明,你可以对号入座:


一、编译 Java 程序(.java → .class)

这是最常见的情况。

1️⃣ 安装 JDK(必须)

CentOS 7/8/Stream 都可以用:

# 查看是否已有
java -version
javac -version

如果没有 javac,说明只装了 JRE,需要安装 JDK。

CentOS 7

yum install -y java-1.8.0-openjdk-devel

CentOS 8 / Stream

dnf install -y java-17-openjdk-devel

一定要装 -devel,否则没有 javac


2️⃣ 编译 Java 文件

javac Hello.java

生成:

Hello.class

运行:

java Hello

不需要额外“在哪编译”,只要终端能执行 javac 即可。


二、编译 OpenJDK 源码(自己从源码构建 JDK)

如果你是问:

“CentOS 上如何编译 OpenJDK 源码?”

那步骤如下(高级用法):

1️⃣ 安装依赖

yum groupinstall -y "Development Tools"
yum install -y \
  autoconf \
  unzip \
  zip \
  libXtst-devel \
  libXt-devel \
  libXrender-devel \
  cups-devel \
  freetype-devel \
  alsa-lib-devel \
  fontconfig-devel

2️⃣ 下载 OpenJDK 源码

git clone https://github.com/openjdk/jdk.git
cd jdk

3️⃣ 配置并编译

bash configure
make images

编译完成后 JDK 在:

build/*/images/jdk

三、常见问题

❓ CentOS 用哪个 Java 版本?

场景 推荐
普通开发 Java 8 / 11 / 17
服务器 Java 11 / 17
编译 OpenJDK 用系统已有 JDK 作为 bootstrap

❓ 编译 Java 一定要 root 吗?

❌ 不需要
✅ 普通用户即可


如果你能具体说一句:

  • ✅ “我想把 .java 编译成 .class
  • ✅ “我想自己编译一个 JDK”
  • ✅ “我在 CentOS 7 还是 8?用 yum 还是 dnf?”

我可以给你 精确到命令级别 的回答。

0