maven 文章记录

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 规范-CSDN博客

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-CSDN博客

方式二:
使用自动化插件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版本号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值