今天发布项目到测试环境,发布完成后,一直启动不起来,查看日志发现java.lang.outofmemoryerror: java heap space.
java.lang.outofmemoryerror: java heap space
dumping heap to /dump/dump.hprof
unable to create /dump/dump.hprof: 454file exists
原maven pom.xml配置如下
-xx:metaspacesize=128m-xx:maxmetaspacesize=512m-xx:+heapdumponoutofmemoryerror-xx:heapdumppath=/dump/dump.hprof
所以每次系统出现outofmemoryerror时,系统自动会dump内存快照到/dump/dump.hprof文件里. 如果第一次dump完成后,第二次就会提示file exists
在dump.hprof文件后面添加时间戳
新maven pom.xml配置如下
<properties> <project.build.sou幼儿通rceencoding>utf-8</project.build.sourceencoding> <!-- 设置时间格式 --> <maven.build.timestamp.format>yyyymmddhhmmss</maven.build.timestamp.format> </properties>-xx:+heapdumponoutofmemoryerror-xx:heapdumppath=/dump/dump${maven.build.timestamp}.hprof
如果再出现outofmemoryerror错误, dump下来的文件 /dump/dump20181206112111.hprof
基于maven的项目,发布时需要打包,如tar.gz。web项目打成war格式包。每次打包时希望自己加上时间戳,假如我的项目名是myproject,默认打包后名为myproject.war。而我希望的名字为myproject-1.0.0-20160217。方便以后对包进行查找与管理,如何实现这种效果呢?
设置时间戳格式:在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},但是时区是utc。
如果要使用gmt+8,就需要插件提供支持,以下两个插件可以实现。
<plugin> <groupid>org.codehaus.mojo</groupid> <artifactid&钓鱼钓鱼gt;buildnumber-maven-plugin</artifactid> <version>1.4</version> <configuration> <timestampformat>yyyymmdd</timestampformat> </configuration> <executions> <execution> <goals> <goal>create-timestamp</goal> </goals> </execution> </executions> <inherited>fal</inherited></plugin>
默认属性是timestamp,在打包plugin中引用该属性
<finalname>${project.artifactid}-${project.version}_${timestamp}</finalname>
<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文件中,打个包试试,是不是自己加上了时间戳
以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。
本文发布于:2023-04-04 07:51:05,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/fbb53f658d02d4a5d208f16da86bc727.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Maven pom.xml文件获取当前时间戳方式.doc
本文 PDF 下载地址:Maven pom.xml文件获取当前时间戳方式.pdf
留言与评论(共有 0 条评论) |