您好,登錄后才能下訂單哦!
如何使用maven 打包時(shí)間戳,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
maven 打包時(shí),可以生成時(shí)間戳屬性,利用該屬性來組裝包名。
<version>5.0.${build.time}B</version> <properties> <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> </properties>
對(duì)資源文件開啟 filtering 功能,資源文件中的 POM 變量在打包過程中會(huì)被自動(dòng)替換。在 java 代碼中訪問 properties 資源文件,就可以取到版本號(hào)。
<resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource>
但是,這個(gè)時(shí)間戳屬性有個(gè)問題,生成的時(shí)間 ${maven.build.timestamp} 是 UTC 時(shí)間,無法修改時(shí)區(qū)。網(wǎng)上找到一個(gè)辦法,可以用插件解決這個(gè)問題。
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.8</version> <executions> <execution> <id>timestamp-property</id> <goals> <goal>timestamp-property</goal> </goals> <configuration> <name>build.time</name> <pattern>yyyyMMdd'.'HHmm</pattern> <timeZone>GMT+8</timeZone> </configuration> </execution> </executions> </plugin>
該插件生成的屬性 ${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)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。