真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringBoot如何獲得Maven-pom中版本號(hào)和編譯時(shí)間戳

這篇文章主要介紹了SpringBoot如何獲得Maven-pom中版本號(hào)和編譯時(shí)間戳,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、邵東網(wǎng)絡(luò)推廣、成都小程序開(kāi)發(fā)、邵東網(wǎng)絡(luò)營(yíng)銷(xiāo)、邵東企業(yè)策劃、邵東品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供邵東建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

SpringBoot項(xiàng)目獲得編譯時(shí)間戳和版本號(hào),然后提供接口大概分為以下步驟:

  • 在pom文件中獲取maven的編譯時(shí)間戳

  • 配置pom,用maven中的屬性渲染資源文件application.yml

  • 提供接口

Maven中獲得編譯時(shí)間

在 pom文件properties 中添加兩個(gè)屬性


 
 ${maven.build.timestamp}
  
 yyyy-MM-dd HH:mm:ss

用Maven屬性渲染application.yml

在pom文件build中配置


 
  
   src/main/resources
   true
  
 

在application.yml中配置

不能使用${}

app:
 version: @project.version@
 build:
 time: @timestamp@

提供接口

創(chuàng)建AppController,提供接口 Get /app

package cn.yshow.modules.sys.controller;

import cn.yshow.common.utils.restResult.RestResult;
import cn.yshow.common.utils.restResult.ResultGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * @author zhaod zhaodongxx@outlook.com
 * @version v1.0
 * @since 2018/12/16 16:19
 */
@Slf4j
@RestController
@RequestMapping("/app")
public class AppController {
 /**
  * 當(dāng)前版本
  */
 @Value("${app.version}")
 private String version;
 /**
  * 打包時(shí)間
  */
 @Value("${app.build.time}")
 private String buildTime;

 @GetMapping
 public RestResult uploadImg() {
  Map ret = new HashMap<>();
  ret.put("version",version);
  ret.put("buildTime",buildTime);
  
  //RestResult是我封裝的返回對(duì)象
  return ResultGenerator.genSuccessResult(ret);
 }
}

測(cè)試

用YAPI測(cè)試如下

SpringBoot如何獲得Maven-pom中版本號(hào)和編譯時(shí)間戳

maven.build.timestamp時(shí)區(qū)錯(cuò)誤解決方案

在Maven 3.2.2+中, maven.build.timestamp已被重新定義,顯示UTC中的時(shí)間,比中國(guó)時(shí)間慢8個(gè)小時(shí)。可以使用插件build-helper-maven-plugin獲得本時(shí)區(qū)的時(shí)間

在plugins塊添加插件,這個(gè)配置與官網(wǎng)不一樣,按照官網(wǎng)的配置方式會(huì)報(bào)錯(cuò)


 
  
  
   ${project.artifactId}-${project.version}-${build.time}
  
  
   
    org.codehaus.mojo
    build-helper-maven-plugin
    1.8
    
     
      timestamp-property
      
       timestamp-property
      
     
    
    
     build.time
     yyyy-MM-dd HH:mm
     GMT+8
    
   
  
 

經(jīng)過(guò)上述處理后,屬性${build.time}已經(jīng)代表GMT-8時(shí)區(qū)的時(shí)間

application.yml配置如下

app:
 version: @project.version@
 build:
 time: @build.time@

IDEA 編譯項(xiàng)目不會(huì)調(diào)用 maven 生命周期,導(dǎo)致安裝的 plugin 不被執(zhí)行。雖然 maven 自帶變量可以被替換,但是自定義變量卻不會(huì)被替換。

可以將 IDEA 的 Build 與 maven goal 綁定起來(lái),在 build 之前執(zhí)行 maven goal,IDEA 右側(cè) Maven Projects -> LifeCycle -> compile 勾選 Execute After Build和Execute After Rebuild ,如下圖

SpringBoot如何獲得Maven-pom中版本號(hào)和編譯時(shí)間戳

把時(shí)間戳加到包名

兩種方法不要重復(fù),否則

方法一:把時(shí)間戳加到版本號(hào)


 
  0.0.5.${build.time}
 

方法二:把時(shí)間戳直接加到包名


 
  
   ${project.artifactId}-${project.version}-${build.time}
  
  
 

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“SpringBoot如何獲得Maven-pom中版本號(hào)和編譯時(shí)間戳”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!


文章名稱:SpringBoot如何獲得Maven-pom中版本號(hào)和編譯時(shí)間戳
網(wǎng)頁(yè)地址:http://weahome.cn/article/isgpcc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部