maven三個常用的插件使用介紹
背景
maven 常用的三個插件對打包有不同的作用:
maven-jar-plugin:處理 jar 包生成;
spring-boot-maven-plugin:SpringBoot 項目打包;
maven-assembly-plugin:自定義打包結(jié)構(gòu)。
而實際開發(fā)過程中這三個插件可能都綜合使用,本文類介紹混合使用這些插件時需要注意的事項。
SpringBoot 打包時排除文件
SpringBoot 項目打包時一般會抽出配置文件和靜態(tài)資源文件到指定目錄,然后通過 --spring.config.additional-location=file:xxx 額外指定配置文件。
這樣的話,SpringBoot 打包時就需要排除配置文件和靜態(tài)資源文件,可以用 maven-ja-pluginr 插件來排除:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<excludes>
<exclude>*.yml</exclude>
<exclude>static/**</exclude>
<exclude>lib/**</exclude>
</excludes>
</configuration>
</plugin>
注意:如果排除文件夾,需要后面兩個星星。
Spring 打包本地依賴 jar
如果項目需要依賴本地某目錄下的 jar 包,而它又沒有在倉庫中發(fā)布的話,可以通過如下方式添加依賴:
<dependency>
<groupId>XXXX</groupId>
<artifactId>XXX</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/xxx.jar</systemPath>
</dependency>
值得注意的是,如果項目用了 SpringBoot 打包插件,默認是不會將 system 作用域的 jar 打入 lib 目錄的,需要添加 includeSystemScope 配置將第三方 jar 包加入到 lib :
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
編譯時排除指定文件
pom.xml 的 resources 配置可以對資源文件進行篩選,常見配置如下:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>static/**</exclude>
<exclude>*.yml</exclude>
</excludes>
</resource>
</resources>
該方式會直接影響編譯時資源文件的處理過程,即 target 目錄下的 classes 目錄中就不包括指定文件,從而導(dǎo)致本地運行時缺少配置文件,所以開發(fā)期間不建議用這種方式。
復(fù)制粘貼的原則
想起以前看到的一段經(jīng)典話語:
我從互聯(lián)網(wǎng)上得到的最好的經(jīng)驗之一,就是永遠不要復(fù)制和粘貼不是自己編寫的代碼。如果你一定要復(fù)制,那就照著它逐字輸入,逼著自己思考,這些代碼實際上是什么意思。
除了代碼需要復(fù)制粘貼,平時文檔編寫時也免不了拿舊文檔做模板。
word 文檔編寫過程中,如果內(nèi)容是復(fù)制、粘貼的,我的經(jīng)驗是,完成后必做幾項檢查:
標題:檢查文檔中的標題、系統(tǒng)名稱是否更正為目標文檔的內(nèi)容。目錄更正:文檔頁碼變化后,必須重新生成目錄與之對應(yīng)。修改內(nèi)容校對:修改過的內(nèi)容,需要校對至少三遍。
總結(jié)
到此這篇關(guān)于maven三個常用的插件使用介紹的文章就介紹到這了,更多相關(guān)maven插件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java中的export方法實現(xiàn)導(dǎo)出excel文件
這篇文章主要介紹了java中的export方法實現(xiàn)導(dǎo)出excel文件,文章圍繞java導(dǎo)出excel文件的相關(guān)資料展開詳細內(nèi)容,需要的小伙伴可以參考一下2022-03-03
Java的MyBatis框架中實現(xiàn)多表連接查詢和查詢結(jié)果分頁
這篇文章主要介紹了Java的MyBatis框架中實現(xiàn)多表連接查詢和查詢結(jié)果分頁,借助MyBatis框架中帶有的動態(tài)SQL查詢功能可以比普通SQL查詢做到更多,需要的朋友可以參考下2016-04-04
Java中的強制類型轉(zhuǎn)換 大數(shù)轉(zhuǎn)小數(shù)
這里主要討論一下大數(shù)轉(zhuǎn)小數(shù),比如int類型轉(zhuǎn)short類型。小數(shù)轉(zhuǎn)大數(shù),如short 轉(zhuǎn) int不做討論,需要的朋友可以參考下2020-02-02
教你安裝eclipse2021并配置內(nèi)網(wǎng)maven中心倉庫的圖文詳解
本文能通過圖文并茂的形式給大家介紹安裝eclipse2021并配置內(nèi)網(wǎng)maven中心倉庫的相關(guān)知識,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-09-09
Java SpringMVC數(shù)據(jù)響應(yīng)超詳細講解
Spring?MVC?是?Spring?提供的一個基于?MVC?設(shè)計模式的輕量級?Web?開發(fā)框架,本質(zhì)上相當(dāng)于?Servlet,Spring?MVC?角色劃分清晰,分工明細,本章來講解SpringMVC數(shù)據(jù)響應(yīng)2022-04-04

