在 Debian 系统上实现 Java 编译自动化,常见目标是:
下面按 从简单到专业 给你几种常用方案,你可以按场景选择。
javac + Bash 脚本(最简单)javac HelloWorld.java
#!/bin/bash
SRC_DIR=src
OUT_DIR=out
mkdir -p "$OUT_DIR"
find "$SRC_DIR" -name "*.java" > sources.txt
javac -d "$OUT_DIR" @sources.txt
rm sources.txt
chmod +x build.sh
./build.sh
✅ 适合:单模块、学习、小项目
MakefileSRC=$(shell find src -name "*.java")
OUT=out
all: compile
compile:
mkdir -p $(OUT)
javac -d $(OUT) $(SRC)
clean:
rm -rf $(OUT)
.PHONY: all compile clean
make
make clean
✅ 适合:熟悉 C/C++ 风格、轻量构建
sudo apt update
sudo apt install maven
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=myapp \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
mvn compile
mvn clean package
✅ 优点:
sudo apt install gradle
gradle init
gradle build
✅ 优点:
sudo apt install inotify-tools
while inotifywait -r -e modify src; do
./build.sh
done
✅ 适合:开发时自动重编译
crontab -e
0 2 * * * cd /path/to/project && mvn compile
✅ 每天凌晨 2 点自动编译
name: Java CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
- name: Build
run: mvn compile
✅ 推代码即自动编译
| 场景 | 推荐 |
|---|---|
| 学习 / 小项目 | javac + bash |
| 正式项目 | Maven |
| Android / 现代项目 | Gradle |
| 自动监听 | inotifywait |
| 企业级 | Maven + CI |
如果你愿意,可以告诉我:
我可以给你 定制一套完整自动化方案。