maven官网文档
生命周期 Maven – Introduction to the Build Lifecycle
settings配置文件 Maven – Settings Reference
pom.xml文件 Maven – POM Reference
mvn 命令行参数 Maven Embedder – Maven CLI Options Reference
如: mvn -help 查看所有的参数
mvn -U 强制更新
mvn -P 激活指定的profiles
mvn -D 定义系统属性
插件列表 Maven – Available Plugins
deploy插件的 操作参数 Apache Maven Deploy Plugin – deploy:deploy
手动指定上传细节 操作参数 deploy-file Apache Maven Deploy Plugin – deploy:deploy-file
如:
mvn deploy:help 查看deploy插件的参数
mvn help:help 查看help插件的参数
mvn help:effective-settings 查看生效的settings文件
mvn dependency:list 查看当前项目使用的依赖
mvn dependency:tree 查看依赖树结构, 用于排查jar包冲突
=========================
maven介绍及常用命令 https://my.oschina.net/u/4157404/blog/3086332
Maven 开 发 规 范 Maven 开 发 规 范_maven 规范-优快云博客
maven release版本不自动更新的原因 https://www.cnblogs.com/lnlvinso/p/10046763.html
公司提出的项目开发流程中
1.pom更新代码, 版本号, 并提交到各个分支dev->test->master
2.在提交到master前版本号结尾的snapshot修改, 替换为release(如何改变手工修改的方式? )
3.git分支新增tag
规定了新的jar命名规范, 如:
dev的是 1.1.1-dev-SNAPSHOT
test的是 1.1.1-test-SNAPSHOT
方式一:
mvn自带的命令
1、修改版本
mvn versions:set -DnewVersion=xxxx
2、回滚版本,提交后不能回滚
mvn versions:revert
3、提交版本变更
mvn versions:commit
缺点:
只能修改一个pom, 对子pom无法级联修改, 注意的package类型,
子pom的版本使用父类版本的变量形式
<version>${parent.version}</version>
versions-maven-plugin Maven多模块及version修改_mvn set version-优快云博客
方式二:
使用自动化插件release来管理maven项目的版本发布 https://www.jianshu.com/p/1d21009cc9db
无法达到想要的效果
方式三:
idea插件: Maven Project Version
会改掉 父pom版本, 所有的子pom版本, 子pom依赖的父pom版本; 但是在 <properties>属性中的版本是无法被检测到, 无法达到想要的效果
方式四:
设置properties变量+profile的方式修改 子项目的版本号 maven如何动态统一修改版本号的方法步骤_java_脚本之家
由于 <parent> 父pom必须制定版本号, 不然被别的项目依赖时无非解析, 所以也不能达到想要的效果
方式五: 自定义maven插件(对修改pom的逻辑可控, 自由程度高)
maven插件开发指南 Maven – Guide to Developing Java Plugins
插件配置指南 Maven – Guide to Configuring Plug-ins
mojo API Maven – Mojo API Specification
插件前缀 Maven – Introduction to Plugin Prefix Resolution
主要是讲了: 插件前缀格式, 插件简化使用方式 配置在setting.xml文件中
<pluginGroups>
<pluginGroup>org.xxx.xxx</ pluginGroup>
</ pluginGroups>
使用时
mvn 插件名:绑定目标
举例:
mvn my-plugin:hello
@Mojo( name = "hello") 绑定的目标名 @Parameter(property = "basedir") property如果跟内置变量重名时, 会被强制覆盖 无非用-D传参, 需要注意
方式六: (目前最优解)
maven插件 flatten-maven-plugin
可以把版本号定义到properties中, 统一修改父子pom版本号