在 CentOS 上实现 Java 编译自动化,常见做法取决于你是单次编译、定时编译还是CI/CD 流程。下面按常见场景给你一个完整、实用的方案。
# 查看是否已安装
java -version
# 安装 OpenJDK(推荐)
sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
如果是 Java 11 / 17:
sudo yum install -y java-11-openjdk java-11-openjdk-devel
/opt/java-project/
├── src/
│ └── com/example/Hello.java
├── lib/
└── out/
build.sh#!/bin/bash
PROJECT_DIR=/opt/java-project
SRC_DIR=$PROJECT_DIR/src
OUT_DIR=$PROJECT_DIR/out
CLASSPATH=$PROJECT_DIR/lib/*
# 创建输出目录
mkdir -p $OUT_DIR
# 编译
javac -d $OUT_DIR -cp "$CLASSPATH" $(find $SRC_DIR -name "*.java")
if [ $? -eq 0 ]; then
echo "编译成功"
else
echo "编译失败"
exit 1
fi
chmod +x build.sh
./build.sh
✅ 适合:简单项目、学习、测试环境
sudo yum install -y maven
project/
├── pom.xml
└── src/
└── main/java/com/example/App.java
mvn compile
#!/bin/bash
cd /opt/java-project
mvn clean compile
✅ 适合:企业项目、依赖管理、标准化构建
如果你希望 定时自动编译:
crontab -e
0 2 * * * /opt/java-project/build.sh >> /var/log/java-build.log 2>&1
✅ 适合:自动打包、数据任务、接口更新
#!/bin/bash
cd /opt/java-project
git pull
mvn compile
结合:
Git → Jenkins → Maven → Build → Deploy
sudo yum install -y jenkins
sudo systemctl start jenkins
mvn clean package
✅ 适合:生产环境、多人协作
| 问题 | 解决方案 |
|---|---|
| javac 不存在 | 安装 java-devel |
| 中文乱码 | 编译时加 -encoding UTF-8 |
| 类找不到 | 检查 -cp 或 pom.xml |
| 权限不足 | 使用 chmod +x |
你可以告诉我:
我可以帮你写:
✅ 完整脚本
✅ Jenkins Pipeline
✅ systemd + 自动编译重启
你现在是哪种使用场景?