在 Ubuntu 下批量编译 Java 文件,常见做法有几种,按使用频率和场景给你整理一下:
javac 直接批量编译(最常用).javafind . -name "*.java" > sources.txt
javac -d out @sources.txt
说明:
find 找出所有 Java 文件@sources.txt 是 javac 的“文件列表参数”-d out 指定编译输出目录javac -d out $(find . -name "*.java")
⚠️ 文件很多时可能超出参数长度限制,推荐用第一种。
javac -d out *.java
javac -d bin *.java
示例 Makefile:
SRC := $(shell find . -name "*.java")
OUT := bin
all:
mkdir -p $(OUT)
javac -d $(OUT) $(SRC)
clean:
rm -rf $(OUT)
使用:
make
make clean
mvn compile
gradle build
javac -encoding UTF-8 -d out *.java
javac -cp "lib/*" -d out @sources.txt
| 场景 | 推荐方式 |
|---|---|
| 简单脚本/作业 | find + javac |
| 多模块项目 | Maven / Gradle |
| 自动化 | Makefile |
如果你有具体项目结构(如 src/, lib/, 多模块),我可以给你定制命令。