Maven 常用命令详细介绍
1. mvn clean
- 清理项目
mvn clean
命令用于删除项目中的 target
目录,这个目录中包含了编译过程中生成的文件。通常与 mvn install
或 mvn package
等命令一起使用。
示例:
mvn clean
删除 target
目录,清理掉之前的编译文件和构建结果。
2. mvn compile
- 编译源代码
mvn compile
命令用于编译项目的源代码,将 src/main/java
下的 Java 源文件编译成 .class
文件。
示例:
mvn compile
编译项目的源代码,并将 .class
文件生成到 target/classes
目录下。
3. mvn test
- 运行测试
mvn test
命令用于运行项目中的单元测试,默认会执行 src/test/java
目录下的所有测试类。
示例:
mvn test
运行项目中的所有测试类,并显示测试结果。如果测试失败,Maven 会报告失败的测试。
4. mvn package
- 打包项目
mvn package
命令用于根据 pom.xml
中的配置,将项目编译并打包成 .jar
、.war
或 .tar
等可发布的文件。
示例:
mvn package
编译并打包项目,将结果生成到 target
目录中,例如:target/my-app-1.0.jar
。
5. mvn install
- 安装到本地仓库
mvn install
命令用于将项目打包后安装到本地 Maven 仓库。安装的文件将存储在本地仓库中,供其他项目使用。
示例:
mvn install
将打包后的 .jar
文件安装到本地 Maven 仓库(默认为 ~/.m2/repository
),可以供其他项目依赖。
6. mvn deploy
- 部署到远程仓库
mvn deploy
命令用于将项目的构建成果(如 .jar
文件)上传到远程仓库。这个命令通常用于将构建好的项目发布到 Maven 中央仓库或私有仓库中。
示例:
mvn deploy
将构建的文件上传到远程仓库,通常是通过 distributionManagement
配置来指定远程仓库的地址。
7. mvn validate
- 验证项目
mvn validate
命令用于验证项目的结构和配置是否正确。它主要用来检查 pom.xml
是否有问题或缺少必要的依赖。
示例:
mvn validate
验证项目配置和结构的正确性,并检查是否有任何错误或缺少依赖项。
8. mvn clean install
- 清理并重新安装
mvn clean install
命令会先清理项目,然后重新编译并将构建的产物安装到本地仓库中。
示例:
mvn clean install
执行 mvn clean
清理旧的构建文件,然后执行 mvn install
将新的构建文件安装到本地仓库。
9. mvn site
- 生成项目站点
mvn site
命令用于根据项目中的 pom.xml
配置生成项目的站点文档。它会生成 HTML 格式的报告和项目文档,通常用于项目的文档管理。
示例:
mvn site
生成项目站点,将生成的 HTML 文件放到 target/site
目录下。
10. mvn dependency:tree
- 查看项目依赖树
mvn dependency:tree
命令用于查看项目的依赖关系树,帮助分析项目中所有的依赖包及其版本。
示例:
mvn dependency:tree
显示当前项目的依赖关系树,以便查看依赖的层次结构。
11. mvn help:effective-pom
- 查看有效的 POM 配置
mvn help:effective-pom
命令显示项目的最终、有效的 pom.xml
配置文件,它会合并父 POM 和项目 POM 的配置。
示例:
mvn help:effective-pom
输出合并后的有效 pom.xml
内容,显示所有继承和激活的配置。
12. mvn clean verify
- 清理并验证
mvn clean verify
命令会清理项目、编译源代码并运行测试,通常用于在构建后进行验证。
示例:
mvn clean verify
清理旧的构建结果,编译并验证当前项目的源代码和测试。
13. mvn exec:java
- 运行 Java 应用
mvn exec:java
命令用于运行 Java 应用。通常在 pom.xml
中需要配置 exec-maven-plugin
才能执行。
示例:
mvn exec:java -Dexec.mainClass="com.example.Main"
运行项目中的 com.example.Main
类,执行 Java 程序。
14. mvn clean compile
- 清理并编译
mvn clean compile
命令会先清理项目,然后编译源代码。
示例:
mvn clean compile
先删除 target
目录中的旧文件,然后编译项目的源代码。
15. mvn dependency:resolve
- 解析依赖
mvn dependency:resolve
命令用于解析项目的所有依赖并下载缺少的依赖库。
示例:
mvn dependency:resolve
解析项目的所有依赖并下载到本地仓库。
16. mvn versions:display-dependency-updates
- 查看依赖更新
mvn versions:display-dependency-updates
命令用于显示项目中所有依赖的可用更新版本。
示例:
mvn versions:display-dependency-updates
显示当前项目依赖的库的最新可用版本信息。
17. mvn clean package -DskipTests
- 清理并打包(跳过测试)
mvn clean package -DskipTests
命令会清理项目并打包,但跳过所有测试,通常用于快速构建。
示例:
mvn clean package -DskipTests
清理项目并进行打包,但跳过执行测试,这样可以加速构建过程。
18. mvn deploy:deploy-file
- 手动部署文件到远程仓库
mvn deploy:deploy-file
命令用于将某个文件手动部署到远程 Maven 仓库。
示例:
mvn deploy:deploy-file -Dfile=path/to/my-artifact.jar -DrepositoryId=my-repo -Durl=http://repository.url
将 my-artifact.jar
文件部署到远程仓库。