本文目录导读:

我来为你详细说明Java Maven项目的构建和执行方法:
Maven基本构建命令
最常用的构建命令
# 清理并构建项目(最常用) mvn clean package # 只编译 mvn compile # 清理并编译 mvn clean compile # 跳过测试构建 mvn clean package -DskipTests # 安装到本地仓库 mvn clean install
构建典型案例
案例1:普通Java项目构建
项目结构:
my-project/
├── pom.xml
├── src/
│ ├── main/
│ │ └── java/
│ │ └── com/example/
│ │ └── App.java
│ └── test/
│ └── java/
│ └── com/example/
│ └── AppTest.java
pom.xml:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-project</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<!-- JUnit测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
<!-- JAR包插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
执行构建:
# 1. 清理并构建 mvn clean package # 2. 运行生成的JAR包 java -jar target/my-project-1.0-SNAPSHOT.jar # 3. 或者使用exec插件直接运行 mvn exec:java -Dexec.mainClass="com.example.App"
案例2:Spring Boot项目构建
pom.xml:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.0</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
构建并运行:
# 构建 mvn clean package # 运行Spring Boot应用 java -jar target/spring-boot-app-1.0.0.jar # 或使用Maven插件直接运行 mvn spring-boot:run
分步构建过程
完整的生命周期命令
# 1. 清理 mvn clean # 2. 编译 mvn compile # 3. 运行测试 mvn test # 4. 打包 mvn package # 5. 安装到本地仓库 mvn install # 6. 部署到远程仓库 mvn deploy
常用选项
# 跳过测试 mvn package -DskipTests # 跳过测试编译和执行 mvn package -Dmaven.test.skip=true # 指定配置文件 mvn clean package -P production # 离线模式(不使用网络下载依赖) mvn clean package -o # 调试模式 mvn clean package -X # 多线程构建 mvn clean package -T 4
实际执行示例
步骤1:创建新项目
# 使用Maven原型创建项目
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=my-app \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DarchetypeVersion=1.4 \
-DinteractiveMode=false
# 进入项目目录
cd my-app
步骤2:执行构建
# 编译 $ mvn compile [INFO] Scanning for projects... [INFO] Building my-app 1.0-SNAPSHOT [INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ my-app --- [INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ my-app --- [INFO] BUILD SUCCESS # 测试 $ mvn test [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] BUILD SUCCESS # 打包 $ mvn package [INFO] Building jar: /path/to/my-app/target/my-app-1.0-SNAPSHOT.jar [INFO] BUILD SUCCESS
步骤3:运行应用
# 直接运行JAR java -cp target/my-app-1.0-SNAPSHOT.jar com.example.App # 或者用Maven exec插件 mvn exec:java -Dexec.mainClass="com.example.App"
常见问题解决
依赖下载失败
# 清理本地仓库特定依赖
rm -rf ~/.m2/repository/com/example/
# 更新快照依赖
mvn clean install -U
# 使用阿里云镜像(修改~/.m2/settings.xml)
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
构建错误排查
# 显示详细错误信息 mvn clean package -X # 检查依赖树 mvn dependency:tree # 分析依赖冲突 mvn dependency:resolve -Dverbose=true
多模块项目构建
父pom.xml:
<modules>
<module>module-a</module>
<module>module-b</module>
</modules>
构建命令:
# 构建所有模块 mvn clean install # 构建特定模块及其依赖 mvn install -pl module-a -am # 构建并跳过依赖模块的测试 mvn install -pl module-a -am -DskipTests
构建输出说明
构建成功后,你会看到:
target/目录包含编译后的class文件target/*.jar或target/*.war是打包后的文件- 控制台输出
BUILD SUCCESS表示构建成功
按照这些步骤,你就可以成功执行Java Maven项目的构建了!
版权声明:足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播