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

Maven中resources標簽的用法詳解

 更新時間:2022年01月21日 14:27:13   作者:怪咖軟妹@  
本文主要介紹了Maven中resources標簽的用法詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在開發(fā)當中,我們一般打包都是利用maven打包的,在項目當中我們經(jīng)常會看見resources標簽,可能很多人對這個標簽并不是很理解,本篇文章主要詳細記錄resources標簽的用法。

可能寫的比較多,但是都是我親自做實驗,邊做實驗邊記錄的??赐晗嘈拍憧隙芾斫獾摹?/p>

一、resources作用

1、打包編譯作用

在項目當中進行編譯的時候,他默認是不會對某些文件進行編譯的,例如在java文件夾下的mybatis當中的.xml文件,還有在resources文件夾當中有時候會存儲一些資源文件,默認有些也是不進行編譯的,這里的不進行編譯指的是他不會編譯到target文件夾當中,并且打包也是。

我們在正常開發(fā)項目的時候,有時候獲取資源是獲取的編譯后的路徑地址,他會在編譯后的路徑找不到文件(target文件夾),就是這個原因。

這時候就需要用到resources標簽,在pom.xml添加,告訴maven我這些文件也需要編譯,并且打包的時候需要打包進去。

2、配置文件取pom當中的值

在現(xiàn)實開發(fā)當中,我也遇到過,在pom文件當中配置參數(shù),然后通過application.properties使用@@來進行取pom的值。假如我不想用application.properties取值,而是用了新創(chuàng)建的比如a.properties取值,這時候就需要在pom當中配置resources。

下面經(jīng)過示例直接演示。

二、演示resources打包編譯的作用

1、創(chuàng)建springboot項目

這里我創(chuàng)建了個空項目,然后resources當中加了很多空文件,java當中也是加了一個文件,pom.xml我是沒有動的,現(xiàn)在開始編譯打包測試。

看看哪些文件在編譯過后,會丟失。

2、進行編譯打包

mvn clean install 一下:

這個是編譯后的,可以看出來在java文件夾當中,我添加了a.fxml文件,但是編譯過后卻丟了。(注意:這里的fxml文件只是演示,總之不是java文件,也可能xml等文件

3、出現(xiàn)問題

這里我打的jar包,將包解壓之后發(fā)現(xiàn)和target當中的classes一模一樣。同樣是缺少那個a.fxml文件。

4、得出結(jié)論

1、假如pom.xml不加resources,編譯出來的會丟失文件,這也就是很多情況下,我們在本地電腦運行沒有問題,但是一旦打包到服務(wù)器,會發(fā)現(xiàn)項目根本跑不起來,缺少各種文件,有時候就是這個原因。

2、target當中的classes和打出來的包解壓后的classes是一模一樣的。

5、添加resources進行解決

這里的配置代表的是,我要將src/main/java路徑下.fxml文件結(jié)尾的,編譯打包進去。

當有兩個同類型文件,只想打包進去一個文件,可以在include標簽當中指定文件名稱。

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

添加這個配置之后,再進行編譯打包,會發(fā)現(xiàn)以下問題:
view當中的文件打包進來了,但是resources文件下的文件夾和文件全丟了。

解決

告訴maven,resources文件下的全部要進行編譯。

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

從這里可以看出來,現(xiàn)在我項目當中的文件都打包進來了。

三、演示application取pom當中值

1、創(chuàng)建springboot項目

pom配置文件我添加了一個port設(shè)置。

<properties>
	<java.version>1.8</java.version>
	<port>8081</port>
</properties>

項目里面我添加了一個a.properties文件。a.properties和application.properties當中我都設(shè)置了:

server.port=@port@

目的:就是讓配置文件的port去讀pom.xml當中設(shè)置的port值。

2、進行編譯打包

編譯打包后會發(fā)現(xiàn),a.properties沒有變化,而application.properties卻變成了maven當中設(shè)置的值。

3、得出結(jié)論

我這里用的是springboot2.6.2,不管是哪個版本都可以點進去,我們點進去觀察。

從這里可以看出,springboot依賴當中,其實已經(jīng)將application.properties給配置了。

也就是a.properties沒有進行配置,所以取不到值,而application.properties配置了,所以取到值了。

4、添加resources進行解決

目前問題是假如我想讓a.properties也一樣可以取到值。

通過添加以下配置即可:

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

注意:

這里的filtering一定要設(shè)置為true,假如為false,我們配置文件當中用到了@@取pom的值,會取不到。

實際上,他是在編譯過后就把application當中的值給替換了,替換成了pom當中配置的值,而并非是程序當中獲取的時候,他才動態(tài)去獲取pom當中的值。

5、疑問

可能有的人會感覺好奇,為什么不這么配置,其實我也試了,只不過這么加的話,resources當中的文件就丟了,只剩下a.properties了。

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

總結(jié):一旦pom當中添加resources,指定某一個文件,就會導致resources其他文件打包的時候丟失,這兩個例子其實都 體現(xiàn) 出來了。

到此這篇關(guān)于Maven中resources標簽的用法詳解的文章就介紹到這了,更多相關(guān)Maven resources內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用Intellij Idea連接遠程服務(wù)器實現(xiàn)遠程上傳部署功能

    利用Intellij Idea連接遠程服務(wù)器實現(xiàn)遠程上傳部署功能

    大家在使用Intellij Idea開發(fā)程序的時候,是不是需要部署到遠程SSH服務(wù)器運行呢,當然也可以直接在idea軟件內(nèi)容實現(xiàn)配置部署操作,接下來通過本文給大家分享利用Intellij Idea連接遠程服務(wù)器實現(xiàn)遠程上傳部署功能,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • SpringBoot處理請求參數(shù)中包含特殊符號

    SpringBoot處理請求參數(shù)中包含特殊符號

    今天寫代碼遇到了一個問題,請求參數(shù)是個路徑“D:/ExcelFile”,本文就詳細的介紹一下該錯誤的解決方法,感興趣的可以了解一下
    2021-06-06
  • Java中的引用類型和使用場景詳細

    Java中的引用類型和使用場景詳細

    這篇文章介紹的是Java中的引用類型和使用場景,主要內(nèi)容展開Java中的引用類型,有強引用、軟引用 、弱引用、虛引用,需要的朋友可以參考一下
    2021-10-10
  • 淺談Java中的分布式鎖

    淺談Java中的分布式鎖

    這篇文章主要介紹了淺談Java中的分布式鎖,為了保證一個方法或?qū)傩栽诟卟l(fā)情況下的同一時間只能被同一個線程執(zhí)行,在傳統(tǒng)單體應用單機部署的情況下,可以使用Java并發(fā)處理相關(guān)的API(如ReentrantLock或Synchronized)進行互斥控制,需要的朋友可以參考下
    2023-09-09
  • JAVA爬蟲實現(xiàn)自動登錄淘寶

    JAVA爬蟲實現(xiàn)自動登錄淘寶

    給大家分享一個關(guān)于JAVA爬蟲的相關(guān)知識點,通過代碼實現(xiàn)自動登錄淘寶網(wǎng),有興趣的朋友測試下。
    2018-04-04
  • java的各種集合為什么不安全(List、Set、Map)以及代替方案

    java的各種集合為什么不安全(List、Set、Map)以及代替方案

    這篇文章主要介紹了java的各種集合為什么不安全(List、Set、Map)以及代替方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Java如何獲取一個隨機數(shù) Java猜數(shù)字小游戲

    Java如何獲取一個隨機數(shù) Java猜數(shù)字小游戲

    這篇文章主要為大家詳細介紹了Java如何獲取一個隨機數(shù),類似猜數(shù)字小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 解決Feign調(diào)用的GET參數(shù)傳遞的問題

    解決Feign調(diào)用的GET參數(shù)傳遞的問題

    這篇文章主要介紹了解決Feign調(diào)用的GET參數(shù)傳遞的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java 語言中Object 類和System 類詳解

    Java 語言中Object 類和System 類詳解

    Object 是 Java 類庫中的一個特殊類,也是所有類的父類。今天通過本文給大家介紹java object類的簡單概念及常用方法,需要的朋友參考下吧
    2021-07-07
  • Java中Map集合中的Entry對象用法

    Java中Map集合中的Entry對象用法

    這篇文章主要介紹了Java中Map集合中的Entry對象用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論

衡阳市| 武宣县| 济宁市| 沙湾县| 临武县| 滁州市| 报价| 邵武市| 宜兴市| 凤山市| 依兰县| 丰宁| 琼中| 托里县| 郸城县| 乾安县| 九龙县| 张家港市| 连江县| 五寨县| 资中县| 成武县| 峡江县| 阜康市| 同心县| 丹巴县| 平谷区| 宁强县| 柳河县| 贵阳市| 成安县| 长乐市| 琼海市| 鸡东县| 金溪县| 中江县| 麻江县| 西充县| 安康市| 车险| 宿州市|