Maven?pom.xml文件獲取當(dāng)前時間戳方式
Maven pom.xml文件獲取當(dāng)前時間戳
今天發(fā)布項目到測試環(huán)境,發(fā)布完成后,一直啟動不起來,查看日志發(fā)現(xiàn)java.lang.OutOfMemoryError: Java heap space.
java.lang.OutOfMemoryError: Java heap space
Dumping heap to /dump/dump.hprof
Unable to create /dump/dump.hprof: File exists
原Maven pom.xml配置如下
-XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dump/dump.hprof
問題
所以每次系統(tǒng)出現(xiàn)OutOfMemoryError時,系統(tǒng)自動會dump內(nèi)存快照到/dump/dump.hprof文件里. 如果第一次dump完成后,第二次就會提示File exists
解決方案
在dump.hprof文件后面添加時間戳
新Maven pom.xml配置如下
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- 設(shè)置時間格式 --> <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> </properties> -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dump/dump${maven.build.timestamp}.hprof
如果再出現(xiàn)OutOfMemoryError錯誤, dump下來的文件 /dump/dump20181206112111.hprof
Maven打包加時間戳方法總結(jié)
基于Maven的項目,發(fā)布時需要打包,如tar.gz。web項目打成war格式包。每次打包時希望自己加上時間戳,假如我的項目名是myproject,默認打包后名為myproject.war。而我希望的名字為myproject-1.0.0-20160217。方便以后對包進行查找與管理,如何實現(xiàn)這種效果呢?
1.使用maven自帶的屬性
設(shè)置時間戳格式:在pom.xml文件中加入以下配置
<properties> <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> </properties>
在打包plugin中引用該屬性
<finalName> ${project.artifactId}-${project.version}_${maven.build.timestamp} </finalName>
Maven自帶時間戳使用${maven.build.timestamp},但是時區(qū)是UTC。
如果要使用GMT+8,就需要插件提供支持,以下兩個插件可以實現(xiàn)。
2.使用buildnubmer-maven-plugin
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.4</version> <configuration> <timestampFormat>yyyyMMdd</timestampFormat> </configuration> <executions> <execution> <goals> <goal>create-timestamp</goal> </goals> </execution> </executions> <inherited>false</inherited> </plugin>
默認屬性是timestamp,在打包plugin中引用該屬性
<finalName> ${project.artifactId}-${project.version}_${timestamp} </finalName>
3.使用build-helper-maven-plugin
<build> <finalName>ProjectName-${current.time}</finalName> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.9.1</version> <executions> <execution> <id>timestamp-property</id> <goals> <goal>timestamp-property</goal> </goals> </execution> </executions> <configuration> <name>current.time</name> <pattern>yyyyMMdd-HHmmss</pattern> <timeZone>GMT+8</timeZone> </configuration> </plugin> </plugins> </build>
將以上的幾種方式配置分別加入到自己的pom.xml文件中,打個包試試,是不是自己加上了時間戳
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java 時間格式轉(zhuǎn)換之impleDateFormat與Data API解析與使用
想必大家對 SimpleDateFormat 并不陌生。SimpleDateFormat 是 Java 中一個非常常用的類,他是以區(qū)域敏感的方式格式化和解析日期的具體類。 它允許格式化 (date -> text)、語法分析 (text -> date)和標(biāo)準(zhǔn)化2021-11-11@RunWith(SpringJUnit4ClassRunner.class)報錯問題及解決
這篇文章主要介紹了@RunWith(SpringJUnit4ClassRunner.class)報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04解決Mybatis中result標(biāo)簽識別不了的情況
這篇文章主要介紹了解決Mybatis中result標(biāo)簽識別不了的情況,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。2022-01-01SpringBoot Security安裝配置及Thymeleaf整合
這篇文章主要介紹了SpringBoot Security安裝配置及Thymeleaf整合,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-12-12Spring?Security權(quán)限控制的實現(xiàn)接口
這篇文章主要介紹了Spring?Security的很多功能,在這些眾多功能中,我們知道其核心功能其實就是認證+授權(quán)。Spring教程之Spring?Security的四種權(quán)限控制方式2023-03-03Java并發(fā)編程之ReadWriteLock讀寫鎖的操作方法
這篇文章主要介紹了Java并發(fā)編程之ReadWriteLock讀寫鎖的操作方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02windows系統(tǒng)使用mvn命令打包并指定jdk路徑方式
這篇文章主要介紹了windows系統(tǒng)使用mvn命令打包并指定jdk路徑方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04