Maven生命周期和及插件原理用法詳解
maven周期
maven的生命周期不止package,compile,clean。其實(shí)這是主要部分。
以下截圖其實(shí)展示的是maven的所有周期。
maven的生命周期,主要分為3套(其實(shí)每個(gè)生命周期下面都分為一些階段,如上截圖所示):
1、clean周期:負(fù)責(zé)清理項(xiàng)目(清理上一次編譯的文件)。
2、default周期: 主體周期,負(fù)責(zé)完成項(xiàng)目構(gòu)建主體過程。
3、site周期:建立站點(diǎn)(生成站點(diǎn)文檔,發(fā)送站點(diǎn)到服務(wù)器)。
周期之間是獨(dú)立的,周期內(nèi)部的各個(gè)階段是相互依賴的。
例如我執(zhí)行install,這個(gè)階段是處于default周期內(nèi)部的,所以這個(gè)時(shí)候,會(huì)從最早的階段執(zhí)行到install。post-clean以及前面的是屬于clean周期的。
所以
例如mvn clean compile是可以的,但是mvn compile install就沒必要了, compile和install是屬于同一個(gè)周期內(nèi)的。
maven插件
其實(shí)maven的周期是一個(gè)規(guī)范真正執(zhí)行的是maven的插件。階段執(zhí)行的時(shí)候,其實(shí)執(zhí)行的是maven的插件,每個(gè)插件又包含很多的goal,所以插件執(zhí)行的時(shí)候就是執(zhí)行每一個(gè)目標(biāo)。
添加maven的插件:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.1</version> </plugin> </plugins> </build>
新下下來的插件:
maven的resources目錄
右側(cè)的插件其實(shí)有個(gè)resources插件。resources插件,負(fù)責(zé)將配置文件復(fù)制到編譯目錄中。
兩種配置文件main-resources、test-resources
maven默認(rèn)只關(guān)注resources目錄下的配置文件,其他目錄下的配置文件會(huì)被忽略。
如果有配置文件不在resources目錄下,這個(gè)時(shí)候就需要額外的配置:
<build> <resources> <resource> <directory> src/main/java </directory> </resource> </resources> </build>
如果需要排除一些文件:
<resources> <resource> <directory> src/main/java </directory> <!--排除所有的txt文件,其他的文件都會(huì)被復(fù)制--> <excludes> <exclude>**/*.txt</exclude> </excludes> </resource> </resources>
如果只包含一些文件:
<resources> <resource> <directory> src/main/java </directory> <!--除了txt文件,其他的文件都不會(huì)被復(fù)制--> <includes> <include>**/*.txt</include> </includes> </resource> </resources>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java如何通過反射將map轉(zhuǎn)換為實(shí)體對(duì)象
在Java開發(fā)中,常需要將XML配置數(shù)據(jù)轉(zhuǎn)為Map,并最終映射到實(shí)體對(duì)象上,通過單例模式管理XML轉(zhuǎn)換后的Map,并利用Java反射機(jī)制,通過屬性名稱匹配將Map的值賦給實(shí)體對(duì)象的對(duì)應(yīng)屬性,這種方法忽略了數(shù)據(jù)類型轉(zhuǎn)換,適用于數(shù)據(jù)類型一致的簡(jiǎn)單場(chǎng)景,需要類型轉(zhuǎn)換時(shí)2024-09-09Springcloud+Mybatis使用多數(shù)據(jù)源的四種方式(小結(jié))
這篇文章主要介紹了Springcloud+Mybatis使用多數(shù)據(jù)源的四種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09SpringBoot數(shù)據(jù)訪問的實(shí)現(xiàn)
本文主要介紹了SpringBoot數(shù)據(jù)訪問的實(shí)現(xiàn),引入各種xxxTemplate,xxxRepository來簡(jiǎn)化我們對(duì)數(shù)據(jù)訪問層的操作,感興趣的可以了解一下2023-11-11第三方包jintellitype實(shí)現(xiàn)Java設(shè)置全局熱鍵
本文主要介紹了,在java中使用第三方插件包jintellitype來實(shí)現(xiàn)全局熱鍵,非常的簡(jiǎn)單,但是很實(shí)用,有需要的朋友可以參考下,歡迎一起來參與改進(jìn)此項(xiàng)目2014-09-09Java中的MapStruct實(shí)現(xiàn)詳解
這篇文章主要介紹了Java中的MapStruct實(shí)現(xiàn)詳解,MapStruct 是一個(gè)代碼生成器,它基于約定優(yōu)先于配置的方法大大簡(jiǎn)化了 JavaBean 類型之間映射的實(shí)現(xiàn),生成的映射代碼使用普通方法調(diào)用,需要的朋友可以參考下2023-11-11mybatis配置文件簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了mybatis配置文件簡(jiǎn)介的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09Java漢字轉(zhuǎn)拼音類庫(kù)Pinyin4j詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了Java漢字轉(zhuǎn)拼音類庫(kù)Pinyin4j詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-02-02