温馨提示×

centos如何批量编译java

小樊
42
2026-09-09 08:27:46
栏目: 编程语言

在 CentOS 上“批量编译 Java”通常有几种常见场景,下面按使用方式给你一个清晰、可直接用的方案汇总。


一、最简单:用 javac 批量编译一个目录

1. 编译当前目录及子目录所有 .java

find . -name "*.java" > sources.txt
javac -d out @sources.txt

说明:

  • find 找出所有 java 文件
  • -d out 指定输出目录
  • @sources.txt 是 javac 的“文件列表”参数

二、使用 for 循环批量编译(不推荐大项目)

for f in $(find . -name "*.java"); do
    javac -d out "$f"
done

⚠ 缺点:类之间依赖关系容易出错


三、使用 Maven(最推荐,企业级)

1. 安装 Maven

yum install -y maven

2. 编译整个项目

mvn compile

3. 打包(含依赖)

mvn package

✅ 自动处理:

  • 多模块
  • 依赖
  • 批量编译

四、使用 Gradle(现代项目)

yum install -y gradle
gradle build

五、多模块 / 多项目批量编译(示例)

假设目录结构:

projects/
 ├── a/
 ├── b/
 └── c/
for dir in projects/*/; do
    echo "Building $dir"
    (cd "$dir" && mvn compile)
done

六、后台批量编译(不阻塞终端)

nohup mvn compile > build.log 2>&1 &

查看进度:

tail -f build.log

七、常见问题

1. javac: command not found

yum install -y java-1.8.0-openjdk-devel

2. 中文乱码

export LANG=en_US.UTF-8

总结建议

场景 推荐方式
学习 / 小脚本 javac + find
单项目 Maven
多模块 Maven / Gradle
自动化 Shell + Maven

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

  • Java 版本
  • 是否是 Spring / 多模块
  • 是否要 CI(Jenkins / GitLab)

我可以直接给你一套可复制的脚本

0