SpringBoot 使用 Maven 打包方式
1. maven打包方式
maven打包有三種方式 pom、jar、war。在pom.xml 文件中聲明的方式分別如下:
<!-- 1. pom方式 --> <packaging>pom</packaging>` <!-- 2. jar方式 --> <packaging>jar</packaging> <!-- 3. war方式 --> <packaging>war</packaging>
以上三種打包方式不同出現(xiàn)在同一個(gè) pom 文件中。
pom:用在父級(jí)工程或聚合工程中,必須指明打包方式為pom。子module可繼承父工程依賴。
jar:工程的默認(rèn)打包方式。
war:將會(huì)打包成war。
2. maven打包插件
<!-- 1. maven 默認(rèn)打包插件,用來創(chuàng)建 project jar --> maven-jar-plugin <!-- 2. 用來打可執(zhí)行包 --> maven-shade-plugin <!-- 3. 支持定制化打包方式,例如 apache 項(xiàng)目的打包方式 --> maven-assembly-plugin <!-- 4. springboot打包插件 --> spring-boot-maven-plugin
3. SpringBoot 打包
Spring Boot 中默認(rèn)打包成可執(zhí)行 jar ,可以通過 java -jar xxx.jar 命令執(zhí)行但是不可以被其他的應(yīng)用所依賴。普通的 jar 不可以通過 java -jar xxx.jar 命令執(zhí)行,普通的 jar 主要是被其他應(yīng)用或模塊依賴。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
如上springboot引導(dǎo)程序生成的pom.xml文件中默認(rèn)的maven插件,其打包的Jar包可以直接運(yùn)行,但是不可依賴!
如果子模塊被打包成可運(yùn)行 jar 包則 SpringBoot 項(xiàng)目編譯運(yùn)行時(shí)提示“程序包xxx不存在,找不到符號(hào)”錯(cuò)誤。我們可以通過<classifier>exec</classifier>
標(biāo)簽在打包的時(shí)候生成普通jar包和可執(zhí)行jar包,修改如下:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <classifier>exec</classifier> </configuration> </plugin> </plugins> </build>
或者通過<skip>true</skip>
標(biāo)簽在打包的時(shí)候生成普通jar包,修改如下:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </build>
到此這篇關(guān)于SpringBoot 使用 Maven 打包的文章就介紹到這了,更多相關(guān)SpringBoot 使用 Maven 打包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)通訊錄管理系統(tǒng)項(xiàng)目
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)通訊錄管理系統(tǒng)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11解決springcloud-eureka注冊(cè)時(shí)的ip問題
這篇文章主要介紹了解決springcloud-eureka注冊(cè)時(shí)的ip問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08基于OpenCV與JVM實(shí)現(xiàn)矩陣處理圖像
本文主要介紹了Java圖像處理實(shí)戰(zhàn)之基于OpenCV與JVM實(shí)現(xiàn)矩陣處理圖像。文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)圖像處理有一定的幫助,感興趣的可以試一試2022-01-01Java實(shí)現(xiàn)超大Excel文件解析(XSSF,SXSSF,easyExcel)
這篇文章主要為大家詳細(xì)介紹了如何利用Java語言實(shí)現(xiàn)超大Excel文件解析(XSSF,SXSSF,easyExcel)以及速度的對(duì)比,感興趣的可以了解一下2022-07-07springboot druid數(shù)據(jù)庫(kù)連接池連接失敗后一直重連的解決方法
本文主要介紹了springboot druid數(shù)據(jù)庫(kù)連接池連接失敗后一直重連的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Java利用iTextPDF庫(kù)實(shí)現(xiàn)制作PDF表格模板并填充數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了如何通過Java的iTextPDF庫(kù)制作一個(gè)PDF表格模板并填充數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧2023-12-12Flowable數(shù)據(jù)庫(kù)表分類及數(shù)據(jù)字典解析
這篇文章主要介紹了Flowable數(shù)據(jù)庫(kù)表分類及數(shù)據(jù)字典解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11注意Java中?new?BigDecimal(double?val)?的使用
這篇文章主要介紹了注意Java中?new?BigDecimal(double?val)?的使用,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07