利用Maven添加工程版本信息及时间戳

目录
  • Maven添加工程版本信息及时间戳
    • 定义全局变量
    • 给MANIFEST.MF文件添加版本及时间戳信息
  • Maven版本发布添加上时间戳
    • 使用插件添加时间戳
    • pom中加入
    • 现在只需要在配置文件加入(用的的是.yml)

Maven添加工程版本信息及时间戳

定义全局变量

pom文件中添加

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <maven.build.number>1.0.5</maven.build.number>
  <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
 </properties>

给MANIFEST.MF文件添加版本及时间戳信息

pom文件中添加

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
     <!-- 如果是jar包值为true,如果是war包值为false -->
     <archiveClasses>false</archiveClasses>
     <archive>
      <manifest>
       <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
       <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
      </manifest>
      <manifestEntries>
       <Build-Number>${maven.build.number}</Build-Number>
       <Timestamp>${maven.build.timestamp}</Timestamp>
      </manifestEntries>
     </archive>
    </configuration>
   </plugin>

Maven版本发布添加上时间戳

使用插件添加时间戳

我使用的是spring boot - 2.0.3.RELEASE版本

pom中加入

<!--
加入这个 就可以直接在配置文件中取到时间戳了,注意:
由于${}方式会被maven处理。
如果你pom继承了spring-boot-starter-parent,
Spring Boot已经将maven-resources-plugins默认的${}方式改为了@@方式,例如:@timestamp@
-->
<properties>
    <project.build.version>@timestamp@</project.build.version>
</properties>
 <build>
        <finalName>${artifactId}_${timestamp}</finalName>
        <plugins>
      .....
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.4</version>
                <configuration>
                    <timestampFormat>yyyyMMddHHmmss</timestampFormat>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>create-timestamp</goal>
                        </goals>
                    </execution>
                </executions>
                <inherited>false</inherited>
            </plugin>

        </plugins>
       .....
    </build>

  

现在只需要在配置文件加入(用的的是.yml)

project:
    build:
      version: @project.build.version@<br><br>如果是.properties文件
project.build.version= @project.build.version@

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • maven 打包时间戳问题

    maven 打包时,可以生成时间戳属性,利用该属性来组装包名. <version>5.0.${build.time}B</version> <properties> <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> </properties> 对资源文件开启 filtering 功能,资源文件中的 POM 变量在打包过程中会被自动替换

  • 如何获取Maven项目的版本号

    目前大多数Spring Boot项目都会打成Jar包,所以什么War包.Ear包的就先不摸索了. Jar包的秘密 我们先解压一个Spring Boot应用Jar包看看里面能不能找到一些蛛丝马迹.在META-INF文件夹中找到了两个相关的东西,一个是MANIFEST.MF: Manifest-Version: 1.0 Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx Implementation-Title: spring-boot-versi

  • maven继承父工程统一版本号的实现

    一.建立一个maven工程 pom类型 统一管理依赖以及版本号 子工程不会使用所有的定义的依赖 子工程使用依赖时无需指定版本号 其pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4

  • 详解SpringBoot获得Maven-pom中版本号和编译时间戳

    这篇文章首先介绍了在SpringBoot中如何获得项目的编译时间和版本号,并向外提供接口,然后介绍了介绍了新版maven获得时间戳时区错误的解决方案,最后介绍了把时间戳加到包名的两种方法. SpringBoot项目获得编译时间戳和版本号,然后提供接口大概分为以下步骤: 在pom文件中获取maven的编译时间戳 配置pom,用maven中的属性渲染资源文件application.yml 提供接口 Maven中获得编译时间 在 pom文件properties 中添加两个属性 <properties>

  • 利用Maven添加工程版本信息及时间戳

    目录 Maven添加工程版本信息及时间戳 定义全局变量 给MANIFEST.MF文件添加版本及时间戳信息 Maven版本发布添加上时间戳 使用插件添加时间戳 pom中加入 现在只需要在配置文件加入(用的的是.yml) Maven添加工程版本信息及时间戳 定义全局变量 pom文件中添加 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.buil

  • 如何利用python正则表达式匹配版本信息

    问题描述: 用正则表达式提取文本中的版本号信息,比如说:10.1.1 9.5 10.10.11 并实现在文本中(.txt)读入,写出到文本(.txt) 首先构造正则表达式: pattern=Vpat="I.(I.)*I" 构造正则表达式:r'\d+\.(?:\d+\.)*\d+' import re pattern = r'\d+\.(?:\d+\.)*\d+' f=open("F:\\xxxxxx\\banners.txt","r") data

  • Android为Tiny4412设备驱动在proc目录下添加一个可读版本信息的文件

    https://www.jb51.net/article/152879.htm上节,我们明白了proc文件系统的作用,接下来我们在已经写好的led驱动的基础上,在proc目录下创建一个文件夹,然后加入led驱动的版本信息读取. 我们在init函数的最后加入: //定义proc文件系统节点 struct proc_dir_entry *dev_dir , *dev_version; //创建一个目录 dev_dir = proc_mkdir("Tiny4412_leds", NULL);

  • Go项目中添加生成时间与版本信息的方法

    目录 一.获取生成时间 1.使用Go编译时的链接参数来指定生成时间 2.使用C语言获取生成时间 二.获取Git版本信息 三.获取Go的相关信息 我们在编写软件时,一般会有版本号以及生成的时间,Go编译的程序中,如何添加当时的编译时间以及版本信息? C/C++语言,非常方便,可以直接使用__DATE__宏即可知道生成时间,但是Go语言没有.既然Go语言没有, C语言有,那我们可以直接使用CGO来使用C语言的功能.当然也可以使用Go的编译链接参数来指定,只是这种方式不适用于Windows. 一.获取

  • Spring Boot中使用Actuator的/info端点输出Git版本信息

    对于Spring Boot的Actuator模块相信大家已经不陌生了,尤其对于其中的/health./metrics等强大端点已经不陌生(如您还不了解Actuator模块,建议先阅读<Spring Boot Actuator监控端点小结>).但是,其中还有一个比较特殊的端点/info经常被大家所忽视,因为从最初的理解,它主要用来输出application.properties配置文件中通过info前缀来定义的一些属性,由于乍看之下可能想不到太多应用场景,只是被用来暴露一些应用的基本信息,而基本

  • javascript 学习笔记(六)浏览器类型及版本信息检测代码

    下面的checkBrowser()函数主要检测了三种浏览器(IE, firefox, chrome),其它的浏览器的检测有兴趣的朋友可以自行添加检测代码! HTML部分代码: (页面加载时执行检测函数) 复制代码 代码如下: <body onload="checkBrowser()"> <p id="userAgent"></p> <p id="browser"></p> </bo

  • 详解Java如何利用数字描述更多的信息

    目录 一 . 前言 二 . 单数中描述信息 三. 宏观思路 总结 一 . 前言 这一篇来趣味性的探讨一下 , 如何通过更少的空间描述更多的信息 在数据库里面 ,通常我们会用数字的递进来描述状态等信息 , 但是如果想进行更复杂的操作 , 就有必要对二进制有一定理解了. 二 . 单数中描述信息 单数中保存多个信息的意思是 : 我们能把多少信息存储到一串数字里面. 这里直接来通过一些案例来说明用法 用单个数字来表示状态 这也是业务中最常见的一种使用方式 , 通过数字 1,2,3 等来描述一个状态 ,

  • Swift读取App的版本信息与PCH文件详解

    Swift读取App版本信息 有时间我们需要读取APP的版本信息之类的配置信息,这样的我们可以使用方法:NSBundle.mainBundle().infoDictionary 来获取 Example: let infoDictionary = NSBundle.mainBundle().infoDictionary let shortVersion = infoDictionary!["CFBundleShortVersionString"] print(shortVersion!)

  • 教你在header中隐藏php的版本信息

    前言 在php渲染的网页header信息中,会包含php的版本号信息,比如: X-Powered-by: php/5.3.3,这有些不安全,有些黑客可能采用扫描的方式,批量寻找低版本的php服务器,利用php漏洞(比如hash冲突)来攻击服务器. php.ini中有一个选项可以控制是否暴露这个信息,那就是: expose_php = On 默认值是On,改成Off之后,就不会显示php版本信息啦. 或者在php-fpm的pool配置文件中设置: php_admin_flag[expose_php

  • android 获取本机其他app的版本信息的示例代码

    我们公司过一个测速的插件,我需要去被另一个app升级,这里就会有一个问题,就是如何去获取本机其他app的版本信息呢,后面我会写一篇app自动升级的文章. 我们先建一个实体类,用来存放app信息. package com.zznode.bean; import android.graphics.drawable.Drawable; import android.util.Log; /** * Created by 杰梵 on 2017/9/25. * 用来存取app的信息. */ public c

随机推荐