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

SpringBoot 如何讀取pom.xml中的值

 更新時(shí)間:2022年01月18日 10:34:24   作者:小皮de夢想  
這篇文章主要介紹了SpringBoot 如何讀取pom.xml中的值,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

如何讀取pom.xml中的值

首先,Java代碼中是無法直接讀取pom.xml中的內(nèi)容的,需要先把值轉(zhuǎn)到xxx.properties中,再通過程序讀取xxx.properties中對應(yīng)的值。

xxx.properties讀取pom.xml

1.xxx.properties中

以pom.xml中的version標(biāo)簽為例。@xx@代表讀取pom.xml中的值

這里為什么是用@呢:

由于${}方式會(huì)被maven處理。如果你pom繼承了spring-boot-starter-parent,Spring Boot已經(jīng)將maven-resources-plugins默認(rèn)的${}方式改為了@@方式,如@name@

2.pom.xml中

在rescource加入

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

比如證書文件,不做任何處理的話會(huì)拋出異常加入這個(gè)標(biāo)簽會(huì)后,*.xml、*.properties正常,其他文件的內(nèi)容可能會(huì)發(fā)生改變。

DerInputStream.getLength(): lengthTag=111, too big

解決方案是把把不需要過濾的文件單獨(dú)列出來,從maven-resources-plugin插件中排除

<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-resources-plugin</artifactId> 
<configuration> <encoding>UTF-8</encoding> <!-- 過濾后綴為pem、pfx的證書文件 --> <nonFilteredFileExtensions> 
<nonFilteredFileExtension>pem</nonFilteredFileExtension> <nonFilteredFileExtension>pfx</nonFilteredFileExtension> <nonFilteredFileExtension>p12</nonFilteredFileExtension> <nonFilteredFileExtension>eot</nonFilteredFileExtension> <nonFilteredFileExtension>svg</nonFilteredFileExtension> <nonFilteredFileExtension>ttf</nonFilteredFileExtension> <nonFilteredFileExtension>woff</nonFilteredFileExtension> <nonFilteredFileExtension>css</nonFilteredFileExtension> <nonFilteredFileExtension>js</nonFilteredFileExtension> <nonFilteredFileExtension>html</nonFilteredFileExtension> <nonFilteredFileExtension>ico</nonFilteredFileExtension> 
</nonFilteredFileExtensions> 
</configuration> 
</plugin>

讀取xxx.properties文件

這個(gè)就比較常規(guī)了

<modelVersion>4.0.0</modelVersion>
 
	<groupId>com.didispace</groupId>
	<artifactId>Chapter4-2-2</artifactId>
	<version>1.0.0</version>
	<packaging>jar</packaging>
@Value("${project.version}")
private String version;

SpringBoot讀取pom配置報(bào)錯(cuò)

創(chuàng)建父子maven工程時(shí),maven配置文件pom.xml報(bào)錯(cuò);

我的父工程存在多種環(huán)境配置,使用${xxx}占位符方式進(jìn)行引入配置文件版本管理;創(chuàng)建maven子工程時(shí)報(bào)錯(cuò),如圖報(bào)錯(cuò)提示:

在這里插入圖片描述

報(bào)錯(cuò)原因

由于方式會(huì)被maven處理。如果你pom繼承了spring−boot−starter−parent,SpringBoot已經(jīng)將maven−resources−plugins默認(rèn)的‘{}方式會(huì)被maven處理。如果你pom繼承了spring-boot-starter-parent, Spring Boot已經(jīng)將maven-resources-plugins默認(rèn)的`方式會(huì)被maven處理。如果你pom繼承了spring−boot−starter−parent,SpringBoot已經(jīng)將maven−resources−plugins默認(rèn)的‘{xxx}`方式改為了@@方式,如@name@,所以會(huì)出現(xiàn)上述報(bào)錯(cuò)情況;

解決方法

如果還想繼續(xù)使用${xxx}占位符方式,只需要在父工程pom.xml文件中加上下面配置即可:

        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <configuration>
                        <encoding>utf-8</encoding>
                        <useDefaultDelimiters>true</useDefaultDelimiters>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

如圖所示:

在這里插入圖片描述

更新maven工程,報(bào)錯(cuò)問題解決

在這里插入圖片描述

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

相關(guān)文章

  • 實(shí)例講解Java中random.nextInt()與Math.random()的基礎(chǔ)用法

    實(shí)例講解Java中random.nextInt()與Math.random()的基礎(chǔ)用法

    今天小編就為大家分享一篇關(guān)于實(shí)例講解Java中random.nextInt()與Math.random()的基礎(chǔ)用法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Spring實(shí)現(xiàn)類私有方法的幾個(gè)問題(親測通用解決方案)

    Spring實(shí)現(xiàn)類私有方法的幾個(gè)問題(親測通用解決方案)

    現(xiàn)實(shí)的業(yè)務(wù)場景中,可能需要對Spring的實(shí)現(xiàn)類的私有方法進(jìn)行測試。本文給大家分享Spring實(shí)現(xiàn)類私有方法面臨的幾個(gè)問題及解決方案,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • 基于JAVA代碼 獲取手機(jī)基本信息(本機(jī)號碼,SDK版本,系統(tǒng)版本,手機(jī)型號)

    基于JAVA代碼 獲取手機(jī)基本信息(本機(jī)號碼,SDK版本,系統(tǒng)版本,手機(jī)型號)

    本文給大家介紹基于java代碼獲取手機(jī)基本信息,包括獲取電話管理對象、獲取手機(jī)號碼、獲取手機(jī)型號、獲取SDK版本、獲取系統(tǒng)版本等相關(guān)信息,對本文感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • Java StringBuffer與StringBuilder有什么區(qū)別

    Java StringBuffer與StringBuilder有什么區(qū)別

    當(dāng)對字符串進(jìn)行修改的時(shí)候,需要使用 StringBuffer 和 StringBuilder類,和String類不同的是,StringBuffer和 StringBuilder類的對象能夠被多次的修改,并且不產(chǎn)生新的未使用對象,本篇我們來分析分析它們的區(qū)別
    2023-01-01
  • SpringBoot實(shí)現(xiàn)優(yōu)雅停機(jī)的三種方式

    SpringBoot實(shí)現(xiàn)優(yōu)雅停機(jī)的三種方式

    優(yōu)雅停機(jī)(Graceful?Shutdown)是指應(yīng)用在接收到停止信號后,能夠妥善處理現(xiàn)有請求、釋放資源,然后再退出的過程,本文將詳細(xì)介紹SpringBoot中實(shí)現(xiàn)優(yōu)雅停機(jī)的三種方式,需要的朋友可以參考下
    2025-04-04
  • Mybatis中通用Mapper的InsertList()用法

    Mybatis中通用Mapper的InsertList()用法

    文章介紹了通用Mapper中的insertList()方法在批量新增時(shí)的使用方式,包括自增ID和自定義ID的情況,對于自增ID,使用tk.mybatis.mapper.additional.insert.InsertListMapper包下的insertList()方法;對于自定義ID,需要重寫insertList()方法
    2025-02-02
  • Java實(shí)戰(zhàn)之實(shí)現(xiàn)一個(gè)好用的MybatisPlus代碼生成器

    Java實(shí)戰(zhàn)之實(shí)現(xiàn)一個(gè)好用的MybatisPlus代碼生成器

    這篇文章主要介紹了Java實(shí)戰(zhàn)之實(shí)現(xiàn)一個(gè)好用的MybatisPlus代碼生成器,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • SpringSecurity詳解整合JWT實(shí)現(xiàn)全過程

    SpringSecurity詳解整合JWT實(shí)現(xiàn)全過程

    JWT作為一個(gè)開放的標(biāo)準(zhǔn)(?RFC?7519?),定義了一種簡潔的,自包含的方法用于通信雙方之間以Json對象的形式安全的傳遞信息。接下來通過本文給大家介紹springSecurity+jwt實(shí)現(xiàn)互踢功能,需要的朋友可以參考下
    2022-07-07
  • Java導(dǎo)出Execl疑難點(diǎn)處理的實(shí)現(xiàn)

    Java導(dǎo)出Execl疑難點(diǎn)處理的實(shí)現(xiàn)

    這篇文章主要介紹了Java導(dǎo)出Execl疑難點(diǎn)處理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Java 關(guān)于遞歸的調(diào)用機(jī)制精細(xì)解讀

    Java 關(guān)于遞歸的調(diào)用機(jī)制精細(xì)解讀

    關(guān)于遞歸是什么,簡單的說: 遞歸就是方法自己調(diào)用自己,每次調(diào)用時(shí) 傳入不同的變量.遞歸有助于編程者解決復(fù)雜的問題,同時(shí)可以讓代碼變得簡潔
    2021-10-10

最新評論

哈巴河县| 大姚县| 西平县| 长兴县| 赞皇县| 美姑县| 邹平县| 芦山县| 财经| 开平市| 白银市| 双峰县| 弥勒县| 嵊泗县| 镇安县| 新沂市| 绥化市| 休宁县| 伊宁县| 电白县| 黔南| 大厂| 资源县| 枞阳县| 永善县| 新昌县| 原阳县| 景泰县| 涞水县| 昌邑市| 前郭尔| 东台市| 伽师县| 尚志市| SHOW| 广昌县| 保康县| 嘉黎县| 焉耆| 济宁市| 内乡县|