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

Spring Boot如何獲取maven打包時間

 更新時間:2024年03月18日 10:44:47   作者:愛碼猿  
這篇文章主要介紹了Spring Boot如何獲取maven打包時間,首先引入maven打包插件,本文分步驟給大家介紹的非常詳細,需要的朋友參考下吧

Spring Boot 獲取maven打包時間

1.引入maven打包插件

<build>
    <plugins>
        <!-- 打包時生成打包時間 -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <timestampFormat>yyyy-MM-dd HH:mm:ss</timestampFormat>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>create-timestamp</goal>
                    </goals>
                </execution>
            </executions>
            <inherited>false</inherited>
        </plugin>
    </plugins>
    <!-- maven打包時包含靜態(tài)資源文件 -->
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.yaml</include>
                <include>META-INF/**</include>
                <include>**/*.xml</include>
            </includes>
            <!-- true表示maven會對文件進行過濾,將@project.version@替換為該屬性的值 -->
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

2.application.properties內(nèi)引用

#獲取build時的時間
app.buildTime=@timestamp@
#獲取項目版本
app.version=@project.version@

擴展:

SpringBoot項目設(shè)置maven打包時間

項目調(diào)試過程中會遇到這樣一個場景,明明修改了代碼,上傳到服務器重啟后總是會懷疑不是最新的包,為了證明代碼是最更新的,我們通常會在代碼里面輸出一句話以證明代碼是修改之后的,但是這樣做會很麻煩,

每次都要加多余的代碼,有時候打包之前可能還會忘記加,所有就想著有沒有通用的辦法解決這個問題,以后就不再為此操心.

  我們一下就能想到的解決方案就是使用maven的打包時間,那么怎么才能動態(tài)的獲取到maven的打包時間呢?

  憑借著強大的搜索引擎我找到了兩種方法,在此梳理總結(jié)一下,供大家參考,以便日后查找

第一步要在pom.xml中獲取到打包時間

在pom.xml文件的properties中添加如下內(nèi)容

<properties>
        <!--指定時間格式-->
        <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
        <!--maven.build.timestamp保存了maven編譯時間戳-->
        <timestamp>${maven.build.timestamp}</timestamp>
</properties>

其中timestamp就是maven打包編譯的時間,但是記錄的時間是UTC時間(世界標準時間),與中國相差8個時區(qū),如果要把打包時間寫到包名上則需要借助build-helper-maven-plugin插件獲得本時區(qū)的時間,

我們這里是要在代碼中獲取該時間,因此也可以用代碼來處理.

方案一.使用自定義的properties配置文件來獲取到maven的打包時間

1.1 在pom.xml的build中添加如下內(nèi)容,使properties能取到pom.xml中的數(shù)據(jù)

<resources>
       <resource>
           <directory>src/main/resources/</directory>
           <filtering>true</filtering>
       </resource>
</resources>

 1.2 在resources下新建remote.properties文件

 文件內(nèi)容如下

# maven打包時間
maven.package_time=@timestamp@

@XXX@ 雙@表示要去pom.xml中的參數(shù)值,XXX就是pom.xml的值

1.3 新建配置類

@Configuration
@ConfigurationProperties(prefix = "maven", ignoreUnknownFields = false)
@PropertySource(value= "classpath:config/maven.properties",encoding = "utf-8")
@Data
@Component
public class MavenProperties {
    /**maven打包時間*/
    private String package_time;
}

1.4 代碼中使用方式

@Resource
    private MavenProperties mavenProperties;
@Test
    public void run() throws Exception {
        log.info("打包時間:{}",mavenProperties.getPackage_time());
    }

maven 中的build resource 中的filtering作用

方案二.使用SpringBoot默認的application.yml配置文件來獲取maven的打包時間,使用起來簡單許多

2.1在application.yml文件中添加如下配置

maven:
  package_time: '@timestamp@' # maven打包時間

'@XXX@' 雙@表示要去pom.xml中的參數(shù)值,XXX就是pom.xml的值

注意引號不能掉,否則會報錯(yml bug導致)

2.2獲取到之后代碼中使用就行了

@Value("${maven.package_time}")
   private String packageTime;
@Test
    public void run() throws Exception {
        log.info("打包時間:{}", modifyTime(packageTime));
    }
/**
     * 修改時間為東8區(qū)
     * @param date
     * @return
     */
    private String modifyTime(String date) {
        Date oldDate=null;
        try {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            oldDate = simpleDateFormat.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(oldDate);
        calendar.add(Calendar.HOUR_OF_DAY, +8);
        return DateUtil.calendarToDateStr(calendar);
    }

到此這篇關(guān)于Spring Boot 獲取maven打包時間的文章就介紹到這了,更多相關(guān)Spring Boot maven打包時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java集合使用 Iterator 刪除元素

    Java集合使用 Iterator 刪除元素

    這篇文章主要介紹了Java集合使用 Iterator 刪除元素,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Java?CyclicBarrier錯誤使用的實例

    Java?CyclicBarrier錯誤使用的實例

    文章描述了一個Java程序使用CyclicBarrier實現(xiàn)兩個線程交替打印字母和數(shù)字時遇到的問題,由于線程執(zhí)行順序不當,導致輸出結(jié)果與預期不符,通過調(diào)整線程的等待和打印順序,解決了問題,文章還提供了一個控制流圖來詳細解釋修改前后的程序邏輯
    2025-01-01
  • Spring如何使用AOP實現(xiàn)聲明式事務管理

    Spring如何使用AOP實現(xiàn)聲明式事務管理

    Spring?使用?AOP?實現(xiàn)聲明式事務管理是其最強大的功能之一,這篇文章小編將詳細拆解這個過程,從高層概念到底層原理,感興趣的小伙伴可以參考一下
    2025-06-06
  • SpringBoot整合SpringTask實現(xiàn)定時任務的流程

    SpringBoot整合SpringTask實現(xiàn)定時任務的流程

    這篇文章主要介紹了SpringBoot整合SpringTask實現(xiàn)定時任務的流程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 在Spring Boot應用程序中使用Apache Kafka的方法步驟詳解

    在Spring Boot應用程序中使用Apache Kafka的方法步驟詳解

    這篇文章主要介紹了在Spring Boot應用程序中使用Apache Kafka的方法步驟詳解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • Java.lang.NullPointerException的錯誤解決

    Java.lang.NullPointerException的錯誤解決

    Java中NullPointerException是一種常見的運行時異常,通常發(fā)生在嘗試調(diào)用null對象的方法或訪問其屬性時,具有一定的參考價值,感興趣的可以了解一下
    2024-09-09
  • springboot實現(xiàn)https雙向傳輸協(xié)議的示例代碼

    springboot實現(xiàn)https雙向傳輸協(xié)議的示例代碼

    本文主要介紹了springboot實現(xiàn)https雙向傳輸協(xié)議的示例代碼,包含配置證書和私鑰路徑、調(diào)用請求方法等步驟,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • 當Transactional遇上synchronized的解決方法分享

    當Transactional遇上synchronized的解決方法分享

    前些時間剛好刷到了有關(guān)于“# 【事務與鎖】當Transactional遇上synchronized”這一類的文章,感覺這也是工作中經(jīng)常會遇到的一類問題了。所以就針對這個話題進行了分析并整理了常用的解決方法,希望對大家有所幫助
    2023-05-05
  • Java正則表達式API Matcher類方法

    Java正則表達式API Matcher類方法

    這篇文章主要介紹了Java正則表達式API Matcher類方法,對Matcher類的一些有用方法進行功能對它們進行分組展開介紹,需要的朋友可以參考一下
    2022-06-06
  • Java模擬QQ實現(xiàn)聊天互動程序

    Java模擬QQ實現(xiàn)聊天互動程序

    這篇文章主要介紹了如何利用Java語言模擬QQ實現(xiàn)一個簡易的聊天互動程序,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-06-06

最新評論

班戈县| 重庆市| 恩施市| 尉犁县| 泗洪县| 英山县| 嘉禾县| 盐边县| 鲁甸县| 灵寿县| 杭锦旗| 岢岚县| 四川省| 云阳县| 宜阳县| 新昌县| 保山市| 阳东县| 宁武县| 贡嘎县| 平乡县| 比如县| 宣武区| 浪卡子县| 宜宾市| 瑞丽市| 浮山县| 梅州市| 那坡县| 平阳县| 大厂| 五家渠市| 建瓯市| 林州市| 梅州市| 金寨县| 盐边县| 津市市| 莱州市| 杂多县| 大宁县|