最近新项目要需要更新发布版本号,用于标识发布的版本,网上找了下插件:buildnumber-maven-plugin 1.4 。

记录下自己使用成功过程中遇到的各种问题,以供需要的朋友参考:

插件官方网站:http://www.mojohaus.org/buildnumber-maven-plugin/usage.html(官网内附详细说明)

一、在项目pom.xml中添加相关配置

1)....中添加buildnumber-maven-plugin插件。

org.codehaus.mojo

buildnumber-maven-plugin

1.4

{0,date,yyyy-MM-dd HH:mm:ss}

timestamp

validate

create-timestamp

2)....中添加上面item:timestamp指定输出的配置文件的路径:

我把timestamp输出的版本号(时间戳格式的)放在 monitor.properties里。

...里的内容为配置文件的目录路径:src/main/resources

src/main/resources

true

3).timestamp输出属性定义:

与.properties文件中的相对应。

${timestamp}

二、jave代码中读取

monitor.properties文件中的project.build.timestamp属性,将时间戳格式转化成想要的日期格式,保存到库表。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

遇到的问题:

1. 开始用的是create,但是编译会报错,替换成create-timestamp即可。

[ERROR] Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.0:create (default) on project projectname: Execution default of goal org.codehaus.mojo:buildnumber-maven-plugin:1.0:create failed: The scm url cannot be null. -> [Help 1]

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.0:create (default) on project projectname: Execution default of goal org.codehaus.mojo:buildnumber-maven-plugin:1.0:create failed: The scm url cannot be null.

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)

at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)

at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)

at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)

at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)

at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)

at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)

at org.apache.maven.cli.MavenCli.execute(MavenCli.java:534)

at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)

at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)

at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)

at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)

at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

2. eclipse里excution报错:

解决办法:

参考http://blog.csdn.net/huweijun_2012/article/details/51073782

3. maven clean install 编译工程报错:

[ERROR] Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:cr

eate-timestamp (default) on project gdws-svc: Execution default of goal org.code

haus.mojo:buildnumber-maven-plugin:1.4:create-timestamp failed: A required class

was missing while executing org.codehaus.mojo:buildnumber-maven-plugin:1.4:crea

te-timestamp: org/apache/commons/lang/StringUtils

[ERROR] -----------------------------------------------------

[ERROR] realm = plugin>org.codehaus.mojo:buildnumber-maven-plugin:1.4

[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy

[ERROR] urls[0] = file:/D:/IDEStrain/maven/repository/org/codehaus/mojo/buildnum

ber-maven-plugin/1.4/buildnumber-maven-plugin-1.4.jar

[ERROR] urls[1] = file:/D:/IDEStrain/maven/repository/backport-util-concurrent/b

ackport-util-concurrent/3.1/backport-util-concurrent-3.1.jar

[ERROR] urls[2] = file:/D:/IDEStrain/maven/repository/org/codehaus/plexus/plexus

-interpolation/1.11/plexus-interpolation-1.11.jar

[ERROR] urls[3] = file:/D:/IDEStrain/maven/repository/org/slf4j/slf4j-jdk14/1.5.

6/slf4j-jdk14-1.5.6.jar

[ERROR] urls[4] = file:/D:/IDEStrain/maven/repository/org/slf4j/slf4j-api/1.5.6/

slf4j-api-1.5.6.jar

[ERROR] urls[5] = file:/D:/IDEStrain/maven/repository/org/slf4j/jcl-over-slf4j/1

.5.6/jcl-over-slf4j-1.5.6.jar

[ERROR] urls[6] = file:/D:/IDEStrain/maven/repository/org/apache/maven/reporting

/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.jar

[ERROR] urls[7] = file:/D:/IDEStrain/maven/repository/org/apache/maven/doxia/dox

ia-sink-api/1.1/doxia-sink-api-1.1.jar

[ERROR] urls[8] = file:/D:/IDEStrain/maven/repository/org/apache/maven/doxia/dox

ia-logging-api/1.1/doxia-logging-api-1.1.jar 解决:

执行buildnumber-maven-plugin插件时找不到commons-lang的StringUtils类。通过查看 maven本地仓库buildnumber-maven-plugin-1.4.pom文件,发现没有配置commons-lang包的依赖,添加配置如下依赖:

commons-lang

commons-lang

2.3

重新执行 clean install 通过!

java时间戳版本号_maven 自动编译版本号 buildnumber-maven-plugin 1.4相关推荐

  1. Azure Devops/Tfs 编译的时候自动修改版本号

    看到阿迪王那边出品了一个基于Azure Devops自增版本号  链接 http://edi.wang/post/2019/3/1/incremental-build-number-for-net-c ...

  2. 高级进阶:Azure DevOps搞定.NET Core编译版本号自增

    点击上方蓝字关注"汪宇杰博客" 熟悉.NET Framework的人知道,我们可以通过指定AssemblyVersion为10.0.*来让编译器自增版本号.但是.NET Core和 ...

  3. 网页自动切换html css js,HTML页面自动清理js、css文件的缓存(自动添加版本号)_HTML/Xhtml_网页制作...

    这篇文章主要介绍了HTML页面自动清理js.css文件的缓存(自动添加版本号),小编觉得挺不错的,现在分享给大家HTML源码,也给大家做个参考.对HTML感兴趣的小伙伴们一起跟随小编过来看看吧 在we ...

  4. 在VS2013以及Linux系统中利用SVN自动更新版本号

    1.在VS2013中利用SVN自动更新版本号 (1).方法一:利用subwcrev.exe中的宏: $WCREV$ : 获取SVN的版本号 $WCURL$ : 获取SVN的地址 关于subwcrev. ...

  5. Dotnet程序集自动生成版本号

    一. 版本号自动生成方法 只需把 AssemblyInfo.cs文件中的[assembly: AssemblyVersion("1.0.0.0")]改成[assembly: Ass ...

  6. MDK自动生成版本号

    MDK自动生成版本号 MDK编译工程时自动生成一个文件版本号,格式为 "V x.x.x Build 2021/01/13 11:08:41 by 计算机名" 我的操作希望对读到的小 ...

  7. FPGA开发技巧备忘录——Vivado 自动日期版本号

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 FPGA开发技巧备忘录--Vivado 自动日期版本号 前言 创建.v文件 设定tcl文件路径 tcl内容 总结 前言 我们在编译FP ...

  8. 修改AssemblyInfo.cs自动生成版本号

    一. 版本号自动生成方法 1.把 AssemblyInfo.cs文件中的[assembly:AssemblyVersion("1.0.0.0")]改成[assembly:Assem ...

  9. Android Studio生成APK自动追加版本号 自定义apk名称 指定签名证书文件

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/50538148   文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一 ...

最新文章

  1. 工程造价步骤_极其全面!1247页安装工程造价与施工管理讲义,造价入门首选...
  2. 删除username的索引
  3. 数据结构与算法(C++)– 堆排(Heap Sort)
  4. 闲置硬盘自制nas私有云_闲置U盘不用扔,教你一招变云盘,随时随地备份数据、访问私有云...
  5. 使用OAuth 2 / OpenID Connect的SSO的Spring Boot 2本机方法
  6. [html] html中如何使用svg?
  7. 工作57:element格式化内容
  8. C# string转double,double转string
  9. Mac下安装MySQL 5.7.28并且修改root密码
  10. 延迟和带宽:时延简介、最后一英里、核心网带宽、网络边缘
  11. 最大子段和之分治递归法
  12. 新胖子公式 (10 分)
  13. CDN——到底用还是不用?
  14. java进阶学习 --java网络编程一(转)
  15. ios音乐播放器demo
  16. apkg格式怎么打开_jpg怎么转换成pdf?再不学就晚了!
  17. matlab常用开头,在MATLAB编辑中,以“”开头的表示()。
  18. ipython notebook 如何打开.ipynb文件?
  19. 2023测绘资质申请条件
  20. 微信公众平台之CURL应用access_token

热门文章

  1. MemCached的telnet命令行参数
  2. 感谢大家对我微软TECHED2013课程的支持
  3. easyui验证:validatebox
  4. jquery插件开发导读
  5. OpenNMS全接触-事件及通知(九)
  6. java中为什么使用上转型和下转型
  7. Python面试题总结(9)--高级特性
  8. java ee 指南 pdf_Java EE 7权威指南:卷1(原书第5版) 中文pdf
  9. python编写命令行框架_python的pytest框架之命令行参数详解(上)
  10. 主元排序法c语言程序,C语言算法竞赛入门(二)---数组元素移动 、排序问题 、猴子选大王问题...