Maven 项目构建
了解项目结构、pom.xml 坐标、依赖管理、生命周期
Maven 快速上手
Maven 是 Java 项目的事实标准构建工具,管理依赖、编译、打包。
学完本章你将: 掌握项目结构、pom.xml、依赖管理。
项目结构
my-app/
├── pom.xml # 项目配置
└── src/
├── main/java/ # 源码
│ └── com/example/
│ └── App.java
└── test/java/ # 测试
└── com/example/
└── AppTest.java
pom.xml
xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<!-- 项目坐标 -->
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
</properties>
<!-- 依赖 -->
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.0.0-jre</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
常用命令
bash
# 编译
mvn compile
# 运行测试
mvn test
# 打包(JAR)
mvn package
# 安装到本地仓库
mvn install
# 清理构建产物
mvn clean
# 一条龙
mvn clean compile test package
依赖管理
xml
<!-- 依赖范围 -->
<scope>compile</scope> <!-- 默认:编译、测试、运行都可用 -->
<scope>test</scope> <!-- 仅测试可用 -->
<scope>runtime</scope> <!-- 仅运行时可用 -->
<scope>provided</scope> <!-- 编译和测试,运行时不打包 -->
<!-- 排除传递依赖 -->
<exclusions>
<exclusion>
<groupId>old-library</groupId>
<artifactId>unwanted</artifactId>
</exclusion>
</exclusions>