在 CentOS 上编译 Java 多模块项目,通常取决于你使用的构建工具。下面按最常见场景给你一个完整、实用的说明。
# 查看是否已安装 Java
java -version
# 如果没有,安装 JDK(以 JDK 8 为例)
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
确认 JAVA_HOME:
echo $JAVA_HOME
如未设置(示例):
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
典型结构如下:
parent-project
│── pom.xml
├── module-a
│ └── pom.xml
├── module-b
│ └── pom.xml
└── module-c
└── pom.xml
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>parent-project</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<modules>
<module>module-a</module>
<module>module-b</module>
<module>module-c</module>
</modules>
</project>
进入项目根目录:
cd parent-project
mvn clean compile -DskipTests
mvn clean package -DskipTests
mvn clean compile -pl module-a
mvn clean compile -pl module-b -am
export MAVEN_OPTS="-Xmx1024m -Xms256m"
或:
mvn clean package -DskipTests -Xmx1024m
sudo yum install -y gradle
或手动安装:
wget https://services.gradle.org/distributions/gradle-7.6-bin.zip
unzip gradle-7.6-bin.zip
export PATH=$PWD/gradle-7.6/bin:$PATH
root
├── settings.gradle
├── build.gradle
├── module-a
│ └── build.gradle
├── module-b
│ └── build.gradle
include 'module-a', 'module-b'
gradle build
或:
./gradlew build
如果是纯多模块 Java 项目(无 Maven / Gradle):
javac -d out \
-sourcepath src \
-cp lib/* \
src/com/example/**/*.java
❌ 维护成本高,不建议生产使用。
✅ 推荐组合
CentOS + JDK + Maven + 多模块 pom
✅ 常用命令速查
| 需求 | 命令 |
|---|---|
| 编译全部 | mvn clean compile |
| 打包 | mvn clean package |
| 跳过测试 | -DskipTests |
| 编译指定模块 | -pl module-name |
| 编译依赖模块 | -am |
你可以直接贴出: