日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Maven插件之buildnumber-maven-plugin

發布時間:2023/12/19 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maven插件之buildnumber-maven-plugin 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

某些情況下(這種情況一般很少見),使用maven構建項目時,需要一個不重復的序列號,比如說,打包時,包名稱以當前構建時間結尾,或者每次生成的jar包中包含唯一的序列號,等等;

這個時候,就用到了buildnumber插件,官方網址:

http://mojo.codehaus.org/buildnumber-maven-plugin/index.html

該插件能按照指定的方案生成序列號;首先引入該插件

<!-- 根據系統時間生成唯一序列號 --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.2</version> </plugin> 常用以下兩個目標:

buildnumber:create(基于SCM版本生成)

buildnumber:create-timestamp(基于系統時間生成)
兩個目標都默認綁定在initialize生命周期;其中create-timestamp目標是1.0-beta-5版本新增;

以下分別介紹:

buildnumber:create

其參數介紹如下:

Name Type Since Description
buildNumberPropertiesFileLocation File 1.0-beta-2

當使用"format"參數,并且"item"參數包含"buildNumber"值時,會創建屬性文件;

此屬性定義文件生成位置;

默認值:?${basedir}/buildNumber.properties
buildNumberPropertyName String 1.0-beta-1 自定義"buildNumber"屬性名;默認值:buildNumber
doCheck boolean 1.0-beta-1 若設置為true,會檢查文件是否修改,若有修改,則構建失敗;
?Note that this used to be inverted (skipCheck), but needed to be?
changed to allow releases to work. This corresponds to 'svn status'.
默認值:?false.
doUpdate boolean 1.0-beta-1 若設置為true,版本號會更新為最新;否則會保持為本地值;
Note that this used to be inverted (skipUpdate),?
but needed to be changed to allow releases to work.?
This corresponds to 'svn update'.
默認值:?false.
format String 1.0-beta-1

使用java.text.MessageFormat類格式化信息;和"items"參數一起使用;

設置該參數會讀取"items"參數

getRevisionOnlyOnce boolean 1.0-beta-3

若設置為true,在多模塊的項目中,只會從SCM獲取一次版本號;

Default value is:false.

items List 1.0-beta-1 和"format"參數一起使用;填充"format"參數的占位符;
有效值為:"scmVersion",?"timestamp", "buildNumber[digits]";
其中[digits]可選,用于選取指定的序列號;
locale String 1.0-beta-2

該屬性使用本地Locale信息格式化date和time.該屬性值由Locale.toString(

)方法得到;默認值:由Locale.getDefault().toString()方法得到;

password String 1.0-beta-1 連接SCM系統時的密碼;
providerImplementations Map 1.0-beta-3 SCM具體實現的替代方案;其值表示了SCM URL地址,比如"cvs","svn";
revisionOnScmFailure String 1.0-beta-2 當執行SCM某些操作失敗時,可使用此參數值作為替代方案;
scmBranchPropertyName String 1.0-beta-4 自定義"buildScmBranch"屬性名稱;Default value is:?scmBranch.
scmDirectory File 1.0-beta-

Local directory to be used to issue SCM actions;Default value is:

?${basedir}.

shortRevisionLength int 1.1 版本號長度(僅用于git)
timestampFormat String 1.0-beta-2

Apply this java.text.MessageFormat to the timestamp only (as?

opposed to the?format?parameter).

timestampPropertyName String 1.0-beta-1 自定義"timestamp"屬性名;Default value is:?timestamp.
useLastCommittedRevision boolean 1.0-beta-2

whether to retrieve the revision for the last commit, or the last revision of?

the repository.

Default value is:?false.
username String 1.0-beta-1 連接SCM的用戶名

buildnumber:create-timestamp

其有兩個可選參數

NameTypeSinceDescription
timestampFormat String 1.0-beta-5

使用ava.text.SimpleDateFormat類格式化序列號;默認格式不友好

,推薦自定義該參數;

timestampPropertyName String 1.0-beta-5 自定義屬性名;默認屬性名稱是:?timestamp.
個人認為,使用create-timestamp目標就足夠了。

有關"format"和"items"參數的使用,例子如下:

<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.2</version> <configuration> <format>At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.</format> <items> <item implementation="java.lang.Integer">7</item> <item>timestamp</item> <item>a disturbance in the Force</item> </items> </configuration> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> </plugin> 其他常用配置有

<configuration> <format>{0,number}.{1,number}.{2,number}</format> <items> <item>buildNumber0</item> <item>buildNumber1</item> <item>buildNumber2</item> </items> </configuration>


<configuration> <format>{0,date,yyyy-MM-dd HH:mm:ss}</format> <items> <item>timestamp</item> </items> </configuration>
產生的? ${buildNumber} 值分別如下:
At 12:30 PM on Jul 3, 2053, there was a disturbance in the Force on planet 7. 2.0.3 2005-10-06 2:22:55 其他詳細信息,請參考官網

http://mojo.codehaus.org/buildnumber-maven-plugin/usage.html


PS:一個有用的實踐,自定義屬性,將生成的序列號賦值其中,便于其他插件等地方使用;

<properties> <buildtimestamp>${timestamp}</buildtimestamp> </properties> 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Maven插件之buildnumber-maven-plugin的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。