maven三個常用的插件使用介紹
背景
maven 常用的三個插件對打包有不同的作用:
maven-jar-plugin:處理 jar 包生成;
spring-boot-maven-plugin:SpringBoot 項目打包;
maven-assembly-plugin:自定義打包結構。
而實際開發過程中這三個插件可能都綜合使用,本文類介紹混合使用這些插件時需要註意的事項。
SpringBoot 打包時排除文件
SpringBoot 項目打包時一般會抽出配置文件和靜態資源文件到指定目錄,然後通過 --spring.config.additional-location=file:xxx
額外指定配置文件。
這樣的話,SpringBoot 打包時就需要排除配置文件和靜態資源文件,可以用 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 包,而它又沒有在倉庫中發佈的話,可以通過如下方式添加依賴:
<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 目錄中就不包括指定文件,從而導致本地運行時缺少配置文件,所以開發期間不建議用這種方式。
復制粘貼的原則
想起以前看到的一段經典話語:
我從互聯網上得到的最好的經驗之一,就是永遠不要復制和粘貼不是自己編寫的代碼。如果你一定要復制,那就照著它逐字輸入,逼著自己思考,這些代碼實際上是什麼意思。
除瞭代碼需要復制粘貼,平時文檔編寫時也免不瞭拿舊文檔做模板。
word 文檔編寫過程中,如果內容是復制、粘貼的,我的經驗是,完成後必做幾項檢查:
標題:檢查文檔中的標題、系統名稱是否更正為目標文檔的內容。目錄更正:文檔頁碼變化後,必須重新生成目錄與之對應。修改內容校對:修改過的內容,需要校對至少三遍。
總結
到此這篇關於maven三個常用的插件使用介紹的文章就介紹到這瞭,更多相關maven插件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Springboot實現添加本地模塊依賴方式
- SpringBoot分離打Jar包的兩種配置方式
- 解決maven沒有打包xml文件的問題
- Java基礎之Maven詳解
- Maven屬性與版本管理詳細步驟分解