Skip to content

基础命令

  • mvn pre-clean
    • 作用:在 clean 操作之前做一些准备工作(极少直接使用,通常由插件自动触发)
    • 使用场景举例:自定义的插件需要在 clean 之前备份日志文件
  • mvn clean
    • 作用:清理项目的 target 目录,通常在编译或打包前使用
  • mvn post-clean
    • 作用:在 clean 操作之后做一些收尾工作(极少直接使用,通常和 pre-clean 配对使用)
    • 使用场景举例:clean 后,清除一些其他生成的缓存文件
  • mvn validate
    • 作用:验证项目是否有效(pom.xml文件的语法和内容是否正确、项目的目录结构符合maven的标准约定、检查声明的依赖项是否可用)
  • mvn generate-sources
    • 作用:自动化生成源代码
    • 使用场景举例:比如使用Mapstruct框架编写bean转换的代码的实现类就会自动生成到 target/generated-sources 文件夹下
  • mvn process-sources
    • 作用:处理生成的源代码或模板文件,特别是设计注解处理器时
    • 使用场景举例:比如根据环境替换配置类中的占位符(如 ${spring.redis.host})
  • mvn genereate-resources
    • 作用:生成资源文件,如配置文件、XML文件等,类似于 generate-sources,但是针对的是资源文件的生成
  • mvn process-resources
    • 作用:处理生成的资源文件
    • 使用场景举例:假如有一个 src/main/resources 目录中的配置文件,在构建过程中,你可能需要对这些文件进行替换或处理(如替换其中的某些占位符)
  • mvn generate-test-sources
    • 作用:自动化生成测试源代码
  • mvn process-test-sources
    • 作用:处理生成的测试源代码或模板文件
  • mvn generate-test-resources
    • 作用:生成测试资源文件
  • mvn process-test-resources
    • 作用:处理生成的测试资源文件
  • mvn process-classes
    • 作用:处理编译后的 .class 文件
    • 使用场景举例:使用 AOP 框架时,在编译之后,对字节码进行增强,执行一些横切操作
  • mvn process-test-classes
    • 作用:处理编译后的测试的 .class 文件
  • mvn compile
    • 作用:编译项目中的源代码,将 src/main/java 中的源代码编译为字节码,输出到 target/classes
  • mvn test-compile
    • 作用:编译项目中的源代码,将 src/test/java 中的源代码编译为字节码,输出到 target/test-classes
  • mvn test
    • 作用:运行项目中的所有单元测试代码
  • mvn prepare-package
    • 作用:执行所有预备工作,通常是在构建产物之前处理所有必要的文件和资源
    • 使用场景举例:在打包之前检查文件、生成报告等
  • mvn package
    • 作用:打包项目,将编译后的代码和资源文件打包为 .jar.war 文件(运行此命令时,maven会自动执行 validatecompiletest 阶段)
  • mvn pre-integration-test
    • 作用:在集成测试阶段之前执行的任务,常用于设置集成测试环境
    • 使用场景举例:在集成测试前,需要做一些初始化工作,如数据库初始化等
  • mvn integration-test
    • 作用:执行集成测试,这个阶段会启动项目并测试多个模块的集成
  • mvn post-integration-test
    • 作用:在集成测试阶段之后执行的任务
    • 使用场景举例:在集成测试后进行清理工作,关闭资源或报告生成
  • mvn verify
    • 作用:运行集成测试并验证项目的质量(清理项目 → 编译源代码 → 运行单元测试 → 打包 → 运行集成测试 → 对集成测试的结果进行检查,确保项目包有效且达到质量标准)
  • mvn install
    • 作用:将构建好的 JAR文件 上传到远程server
  • mvn deploy
    • 作用:将构建好的 JAR文件 安装到本地 Maven 仓库,以便其他项目引用
  • mvn dependency:tree
    • 作用:显示项目的依赖树,便于分析依赖关系
  • mvn versions:display-dependency-updates
    • 作用:检查项目依赖项是否有更新

命令行参数

  • mvn -v :显示maven版本信息
  • mvn -h :显示帮助信息
  • mvn -o :运行offline模式
  • mvn -U :强制更新SNAPSHOT类型的插件或依赖(否则maven一天只会更新一次SNAPSHOT依赖)
  • mvn -Dxxx=xxx :指定java全局属性
  • mvn -Pxxx,yyy :激活id为xxx和yyy的profile(多个用逗号隔开)

MIT版权,未经许可禁止任何形式的转载