Maven

Maven是什么?

1.构建工具
2.依赖管理工具
3.项目信息聚合
版本控制系统信息,项目站点:javadoc、代码静态分析报告......

Maven核心概念:坐标、依赖、仓库、生命周期、插件

1.坐标

2.依赖

依赖优先原则:
依赖最短路径优先原则
pom文件中申明顺序优先
覆写优先
3.仓库
本地所有Maven项目都复用一个本地仓库
4.生命周期
包括clean、default、site三个生命周期
常用的是前两个周期,clean和default
5.插件
Maven本身是一个框架,实际的任务都是插件完成的,插件与生命周期阶段绑定,用户通过指定生命周期阶段就能够隐式的通过插件执行任务
分为内置绑定和自定义绑定:
自定义绑定,通过标签

-Dskip Tests 不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下
-Dmaven test skip=true不执行测试用例,也不编译测试用例类

maven常用命令:

编译命令:mvn clean install -Dcheckstyle.skip=true -DskipTests -Dmaven.test.skip=true
查看依赖树:mvn dependency:tree
查看有效pom:mvn help:effective-pom
安装一个包到本地仓:mvn install:install-file -Dfile=...
部署一个包到远程仓:mvn deploy:deploy-file ...

maven三套生命周期

https://www.runoob.com/maven/maven-build-life-cycle.html
clean:

  pre-clean
  clean
  post-clean

default:

  

site:


maven批量更新版本号

maven项目中,多模块开发比较常见,各个子模块和父模块版本号保持一致,出现问题,父版本号变化后,有什么办法能把子模块的版本号一起更新吗?
使用插件versions-maven-plugin。

<plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>versions-maven-plugin</artifactId>
      <version>2.7</version>
      <configuration>
         <generateBackupPoms>false</generateBackupPoms>
      </configuration>
 </plugin>
  1. 更新版本号:mvn versions:set -DnewVersion=3.0.0

  2. 回滚: mvn versions:revert

  3. 提交: mvn versions:commit

posted @ 2022-09-03 17:05  AI未来10Y  阅读(31)  评论(0编辑  收藏  举报