在 CentOS 上“批量编译 Java”通常有几种常见场景,下面按使用方式给你一个清晰、可直接用的方案汇总。
javac 批量编译一个目录.javafind . -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
⚠ 缺点:类之间依赖关系容易出错
yum install -y maven
mvn compile
mvn package
✅ 自动处理:
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
javac: command not foundyum install -y java-1.8.0-openjdk-devel
export LANG=en_US.UTF-8
| 场景 | 推荐方式 |
|---|---|
| 学习 / 小脚本 | javac + find |
| 单项目 | Maven |
| 多模块 | Maven / Gradle |
| 自动化 | Shell + Maven |
如果你愿意,可以告诉我:
我可以直接给你一套可复制的脚本。