温馨提示×

CentOS编译Java如何打Jar包

小樊
41
2026-08-04 18:27:32
栏目: 编程语言

CentOS 上编译 Java 并打包成 Jar,通常分为 编译 .java → 打包 .jar 两个步骤。下面按常见场景给你一个完整示例。


一、环境准备(CentOS)

1. 安装 JDK

# 查看是否已安装
java -version
javac -version

# 如果没有,安装 OpenJDK(推荐)
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

javac 才能编译,只装 java 是不够的。


二、手动编译并打 Jar(最基础方式)

1. 示例 Java 代码

// Hello.java
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello CentOS Jar");
    }
}

2. 编译

javac Hello.java

生成:

Hello.class

3. 打包成 Jar

方式一:不带 Main-Class(普通 jar)

jar cvf hello.jar Hello.class

方式二:可运行 Jar(推荐 ✅)

jar cvfe hello.jar Hello Hello.class

说明:

  • c:创建 jar
  • v:显示过程
  • f:指定文件名
  • e:指定入口类(main 方法)

运行:

java -jar hello.jar

输出:

Hello CentOS Jar

三、多文件 / 包结构项目

1. 目录结构

src/
 └── com/example/Hello.java
package com.example;

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello Package");
    }
}

2. 编译

mkdir -p out
javac -d out src/com/example/Hello.java

3. 打包

jar cvfe hello.jar com.example.Hello -C out .

运行:

java -jar hello.jar

四、使用 MANIFEST.MF(更规范)

1. 创建 manifest

echo "Main-Class: com.example.Hello" > MANIFEST.MF

2. 打包

jar cvfm hello.jar MANIFEST.MF -C out .

五、使用 Maven(推荐生产环境 ✅)

1. 安装 Maven

yum install -y maven

2. 打包

mvn package

生成:

target/xxx.jar

运行:

java -jar target/xxx.jar

六、常见问题

1. jar 命令不存在

yum install -y java-1.8.0-openjdk-devel

2. 提示没有主类

no main manifest attribute

✅ 加 -eMANIFEST.MF


七、总结(最简流程)

javac Hello.java
jar cvfe hello.jar Hello Hello.class
java -jar hello.jar

如果你愿意,可以告诉我:

  • Java 版本(8 / 11 / 17)
  • 是否用 Maven / Gradle
  • 是否是 Spring Boot 项目

我可以给你 更精确的打包方案

0