最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot項目啟動時打印maven打包時間實現(xiàn)方式

 更新時間:2026年01月05日 09:51:40   作者:萬物皆字節(jié)  
文章介紹了通過在pom文件中配置資源過濾和新增一個配置類來映射properties文件內(nèi)字段,從而在啟動時打印出打包時間的方法,以減少開發(fā)和運維之間的溝通錯誤

背景

生產(chǎn)環(huán)境部署的時候,開發(fā)給的包部署后沒有生效;運維說開發(fā)給的包不對,開發(fā)說運維沒有部署正確;

于是想著能有一種方法來減少這種錯誤,啟動的時候把打包的時間打印出來;

pom文件配置

在pom文件中新增properties,maven打包的時候會讀取該配置:

<properties>
        <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssXXX</maven.build.timestamp.format>
</properties>

新增一個properties文件

在資源目錄新增一個properties文件,注意這里一定是一個properties文件,不能是yaml

內(nèi)容如下即可:

# maven 打包時間
build.time= @maven.build.timestamp@

用兩個@符號將maven打包可識別的變量包住

配置pom文件,讓打包的時候能讓maven編譯時替換properties文件內(nèi)容

<build>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/**</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
</build>

關(guān)鍵配置:filtering 為true

新增一個配置類映射properties文件內(nèi)字段

import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

import java.time.Instant;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Objects;

/**
 * maven打包相關(guān)配置類
 */
@Component
@PropertySource(value = {"classpath:xxx.properties"}, encoding = "utf-8")
@ConfigurationProperties(prefix = "build")
@Getter
@Setter
@Slf4j
public class MavenBuildConfig implements InitializingBean {

    /**
     * 打包時間
     */
    private String time;

    @Override
    public void afterPropertiesSet() throws Exception {
        // utc時間
        String buildTime = this.getTime();
        if (Objects.nonNull(buildTime) && buildTime.contains("T") && buildTime.endsWith("Z")) {
            try {
                // 自定義格式(UTC 時間 → 本地時間字符串)
                Instant instant = Instant.parse(buildTime);
                DateTimeFormatter formatter = DateTimeFormatter.ofPattern(Utils.YYYY_MM_DD_HH_MM_SS).withZone(ZoneId.systemDefault());
                buildTime = formatter.format(instant);
            } catch (Exception e) {
                log.error("afterPropertiesSet Error: {}", e.getMessage(), e);
            }
        }
        log.info("========================== Maven-Build-Time: {} ==========================", buildTime);
    }
}

啟動查看效果

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用Jmeter發(fā)送Java請求的實戰(zhàn)記錄

    利用Jmeter發(fā)送Java請求的實戰(zhàn)記錄

    JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現(xiàn),下面這篇文章主要給大家介紹了關(guān)于如何利用Jmeter發(fā)送Java請求的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • java中雪花算法時鐘回?fù)軉栴}解決

    java中雪花算法時鐘回?fù)軉栴}解決

    本文介紹了分布式系統(tǒng)中使用雪花算法生成唯一ID時可能遇到的時鐘回?fù)軉栴},以及解決這個問題的幾種方法,包括等待機制、擴展位、預(yù)留時間戳或邏輯時鐘等,感興趣的可以了解一下
    2024-10-10
  • JAVA利用遞歸刪除文件代碼實例

    JAVA利用遞歸刪除文件代碼實例

    這篇文章主要介紹了JAVA利用遞歸刪除文件代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • SpringCloud之服務(wù)注冊與發(fā)現(xiàn)Spring Cloud Eureka實例代碼

    SpringCloud之服務(wù)注冊與發(fā)現(xiàn)Spring Cloud Eureka實例代碼

    這篇文章主要介紹了SpringCloud之服務(wù)注冊與發(fā)現(xiàn)Spring Cloud Eureka實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • SpringBoot整合多個Mq服務(wù)做法詳解

    SpringBoot整合多個Mq服務(wù)做法詳解

    SpringBoot整合rabbitmq很容易,但是整合的目的是為了使用,那要使用rabbitmq就要對其有一定的了解,不然容易整成一團漿糊。因為說到底,SpringBoot只是在封裝rabbitmq的API,讓其更容易使用而已,廢話不多說,讓我們一起整它
    2023-02-02
  • Java servlet、filter、listener、interceptor之間的區(qū)別和聯(lián)系

    Java servlet、filter、listener、interceptor之間的區(qū)別和聯(lián)系

    這篇文章主要介紹了Java servlet、filter、listener、interceptor之間的區(qū)別和聯(lián)系的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • JavaSE、JavaEE和JavaWeb三大工程目錄詳解

    JavaSE、JavaEE和JavaWeb三大工程目錄詳解

    這篇文章主要給大家介紹了關(guān)于JavaSE、JavaEE和JavaWeb三大工程目錄的相關(guān)資料,很多對java不是很了解的同學(xué)在看到課程?綱的時候發(fā)現(xiàn)??出現(xiàn)了JavaSE、JavaEE、JavaME、JavaWEB這些詞,搞得?頭霧?,需要的朋友可以參考下
    2023-07-07
  • javaweb實現(xiàn)app掃碼登錄功能

    javaweb實現(xiàn)app掃碼登錄功能

    這篇文章主要為大家詳細(xì)介紹了javaweb實現(xiàn)app掃碼登錄功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • springboot調(diào)用python文件的詳細(xì)方案

    springboot調(diào)用python文件的詳細(xì)方案

    這篇文章主要為大家詳細(xì)介紹了springboot調(diào)用python文件的詳細(xì)方案,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-04-04
  • Java實現(xiàn)四則混合運算代碼示例

    Java實現(xiàn)四則混合運算代碼示例

    這篇文章主要介紹了Java實現(xiàn)四則混合運算代碼示例,文中展示了詳細(xì)代碼,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10

最新評論

南通市| 曲周县| 阆中市| 北辰区| 抚顺县| 瓦房店市| 鹿邑县| 美姑县| 六枝特区| 荥经县| 长兴县| 涿鹿县| 玛沁县| 林州市| 上栗县| 襄垣县| 阳东县| 齐河县| 舟山市| 麦盖提县| 江安县| 铁岭市| 西昌市| 绥化市| 九龙县| 定陶县| 许昌市| 开原市| 甘谷县| 诸暨市| 三台县| 康保县| 西畴县| 新干县| 广东省| 杭锦后旗| 景谷| 项城市| 辽阳县| 大庆市| 余江县|