如何使用maven 打包時(shí)間戳,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
目前創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、市中網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
maven 打包時(shí),可以生成時(shí)間戳屬性,利用該屬性來組裝包名。
5.0.${build.time}B yyyyMMddHHmmss
對(duì)資源文件開啟 filtering 功能,資源文件中的 POM 變量在打包過程中會(huì)被自動(dòng)替換。在 java 代碼中訪問 properties 資源文件,就可以取到版本號(hào)。
src/main/resources true
但是,這個(gè)時(shí)間戳屬性有個(gè)問題,生成的時(shí)間 ${maven.build.timestamp} 是 UTC 時(shí)間,無法修改時(shí)區(qū)。網(wǎng)上找到一個(gè)辦法,可以用插件解決這個(gè)問題。
org.codehaus.mojo build-helper-maven-plugin 1.8 timestamp-property timestamp-property build.time yyyyMMdd'.'HHmm GMT+8
該插件生成的屬性 ${build.time} 已經(jīng)是本地時(shí)區(qū)。
但是,在 IDEA 中, Build Projects ,再 Build Artifacts... ,屬性文件中的 ${project.version} 并沒有被替換。
摸索了一陣,發(fā)現(xiàn) IDEA Build Projects 并不會(huì)調(diào)用 maven 生命周期,導(dǎo)致 plugin 不被執(zhí)行。雖然 maven 自帶變量可以被替換,但是自定義變量卻不會(huì)被替換。
使用工具按鈕的 maven install 打包,資源中的變量可以被正常替換。
還有一個(gè)方法,可以將 IDEA 的 Build 與 maven goal 綁定起來:
關(guān)于如何使用maven 打包時(shí)間戳問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。