Maven 基础教程
Maven 是 Java 项目中最常用的构建工具和依赖管理工具。本文简要介绍 Maven 的远程仓库配置及常用命令。
1. 远程仓库配置 (镜像设置)
由于 Maven 中央仓库服务器在国外,国内访问速度较慢,通常需要配置国内镜像(如阿里云镜像)来加速依赖下载。
全局配置 (settings.xml)
找到 Maven 安装目录下的 conf/settings.xml 文件(或者 ~/.m2/settings.xml),在 <mirrors> 标签内添加如下配置:
xml
<mirrors>
<!-- 阿里云 Maven 镜像 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>私服配置
如果是公司内部的 Nexus 私服,通常需要在 <servers> 中配置认证信息,在 <profiles> 中配置仓库地址。
xml
<settings>
<servers>
<server>
<id>my-repo</id>
<username>admin</username>
<password>password</password>
</server>
</servers>
<profiles>
<profile>
<id>dev</id>
<repositories>
<repository>
<id>my-repo</id>
<url>http://nexus.example.com/repository/maven-public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
</settings>2. 常用命令
在使用 Maven 时,我们通常会在项目根目录下执行 mvn 命令。
生命周期命令
| 命令 | 描述 |
|---|---|
mvn clean | 清理:删除 target 目录,清理构建产物。 |
mvn compile | 编译:编译 src/main/java 下的源代码。 |
mvn test | 测试:运行 src/test/java 下的单元测试。 |
mvn package | 打包:将代码打包成 JAR 或 WAR 包,存放在 target 目录下。 |
mvn install | 安装:将打好的包安装到本地仓库,供本地其他项目引用。 |
mvn deploy | 部署:将打好的包推送到远程私服仓库。 |
组合命令
通常我们会组合使用命令,例如:
bash
# 清理并打包,跳过单元测试
mvn clean package -DskipTests
# 清理并安装到本地仓库
mvn clean install依赖管理命令
| 命令 | 描述 |
|---|---|
mvn dependency:tree | 查看项目依赖树,排查依赖冲突的神器。 |
mvn dependency:analyze | 分析依赖使用情况(声明了未使用的,使用了未声明的)。 |
mvn dependency:sources | 下载依赖库的源码包。 |
其他常用参数
-U: 强制更新 Snapshots 类型的插件或依赖(mvn clean install -U)。-pl: 指定模块构建(Project List),用于多模块项目(mvn clean install -pl module-a -am)。-am: 同时构建所列模块的依赖模块(Also Make)。-T: 开启多线程构建(Threads),加快构建速度。mvn clean install -T 4: 使用 4 个线程。mvn clean install -T 1C: 每个 CPU 核心使用 1 个线程。
-Dmaven.test.skip=true: 彻底跳过测试(不编译测试代码,也不运行)。-DskipTests: 跳过测试运行(但会编译测试代码)。