Appearance
常用命令速查
16.1 基础命令
| 命令 | 描述 | 示例 |
|---|---|---|
mvn clean | 清理项目,删除 target 目录 | mvn clean |
mvn compile | 编译项目源代码 | mvn compile |
mvn test | 运行项目测试 | mvn test |
mvn package | 打包项目,生成 JAR/WAR 文件 | mvn package |
mvn install | 将构建产物安装到本地仓库 | mvn install |
mvn deploy | 将构建产物部署到远程仓库 | mvn deploy |
mvn validate | 验证项目配置是否正确 | mvn validate |
mvn process-resources | 处理资源文件 | mvn process-resources |
mvn test-compile | 编译测试源代码 | mvn test-compile |
mvn verify | 验证打包产物的质量 | mvn verify |
16.2 高级命令
| 命令 | 描述 | 示例 |
|---|---|---|
mvn archetype:generate | 创建新的 Maven 项目 | mvn archetype:generate -DgroupId=com.example -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false |
mvn dependency:tree | 查看项目的依赖树 | mvn dependency:tree |
mvn dependency:analyze | 分析项目的依赖使用情况 | mvn dependency:analyze |
mvn dependency:purge-local-repository | 清理本地仓库 | mvn dependency:purge-local-repository |
mvn site | 生成项目站点 | mvn site |
mvn site-deploy | 部署项目站点 | mvn site-deploy |
mvn help:describe | 查看插件的详细信息 | mvn help:describe -Dplugin=compiler -Ddetail |
mvn help:effective-pom | 查看有效的 POM 文件 | mvn help:effective-pom |
mvn help:effective-settings | 查看有效的 settings.xml 文件 | mvn help:effective-settings |
mvn wrapper:wrapper | 添加 Maven Wrapper | mvn wrapper:wrapper -Dmaven=3.8.8 |
16.3 插件命令
| 命令 | 描述 | 示例 |
|---|---|---|
mvn compiler:compile | 执行 compiler 插件的 compile 目标 | mvn compiler:compile |
mvn compiler:testCompile | 执行 compiler 插件的 testCompile 目标 | mvn compiler:testCompile |
mvn surefire:test | 执行 surefire 插件的 test 目标 | mvn surefire:test |
mvn jar:jar | 执行 jar 插件的 jar 目标 | mvn jar:jar |
mvn war:war | 执行 war 插件的 war 目标 | mvn war:war |
mvn deploy:deploy | 执行 deploy 插件的 deploy 目标 | mvn deploy:deploy |
mvn deploy:deploy-file | 部署单个文件到远程仓库 | mvn deploy:deploy-file -Dfile=my-artifact-1.0.jar -DgroupId=com.example -DartifactId=my-artifact -Dversion=1.0 -Dpackaging=jar -DrepositoryId=nexus -Durl=http://localhost:8081/repository/maven-releases/ |
mvn resources:resources | 处理主资源文件 | mvn resources:resources |
mvn resources:testResources | 处理测试资源文件 | mvn resources:testResources |
mvn clean:clean | 执行 clean 插件的 clean 目标 | mvn clean:clean |
16.4 命令选项
| 选项 | 描述 | 示例 |
|---|---|---|
-DskipTests | 跳过测试 | mvn package -DskipTests |
-Dmaven.test.skip=true | 跳过测试编译和执行 | mvn package -Dmaven.test.skip=true |
-U | 强制更新依赖 | mvn install -U |
-P <profile> | 激活指定的 profile | mvn package -P production |
-pl <module> | 构建指定的模块 | mvn install -pl module-web |
-am | 构建模块及其依赖 | mvn install -pl module-web -am |
-amd | 构建模块及其依赖的模块 | mvn install -pl module-web -amd |
-T <threads> | 启用并行构建 | mvn install -T 1C |
-X | 启用调试模式 | mvn install -X |
-q | 安静模式,只输出错误信息 | mvn install -q |
-e | 显示详细的错误信息 | mvn install -e |
-Dmaven.compiler.source=<version> | 指定 Java 源代码版本 | mvn compile -Dmaven.compiler.source=11 |
-Dmaven.compiler.target=<version> | 指定 Java 目标版本 | mvn compile -Dmaven.compiler.target=11 |
16.5 组合命令
| 命令 | 描述 | 示例 |
|---|---|---|
mvn clean compile | 清理并编译项目 | mvn clean compile |
mvn clean test | 清理并运行测试 | mvn clean test |
mvn clean package | 清理并打包项目 | mvn clean package |
mvn clean install | 清理并安装项目到本地仓库 | mvn clean install |
mvn clean deploy | 清理并部署项目到远程仓库 | mvn clean deploy |
mvn clean package -DskipTests | 清理并打包项目,跳过测试 | mvn clean package -DskipTests |
mvn clean install -P production | 清理并安装项目,使用 production profile | mvn clean install -P production |
mvn clean package -pl module-web -am | 清理并打包指定模块及其依赖 | mvn clean package -pl module-web -am |
16.6 常见问题解决命令
| 命令 | 描述 | 示例 |
|---|---|---|
mvn dependency:tree -Dincludes=groupId:artifactId | 查看特定依赖的依赖树 | mvn dependency:tree -Dincludes=commons-logging:commons-logging |
mvn dependency:analyze | 分析依赖使用情况,识别未使用的依赖 | mvn dependency:analyze |
mvn dependency:purge-local-repository | 清理本地仓库,解决依赖冲突 | mvn dependency:purge-local-repository |
mvn clean install -U | 强制更新依赖,解决依赖下载问题 | mvn clean install -U |
mvn help:describe -Dplugin=compiler -Ddetail | 查看插件的详细信息,解决插件配置问题 | mvn help:describe -Dplugin=compiler -Ddetail |
mvn help:effective-pom | 查看有效的 POM 文件,解决 POM 配置问题 | mvn help:effective-pom |
通过掌握这些常用命令,可以更高效地使用 Maven 来管理和构建项目。