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)打包插件,用來(lái)創(chuàng)建 project jar --> maven-jar-plugin <!-- 2. 用來(lái)打可執(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 ,可以通過(guò) java -jar xxx.jar 命令執(zhí)行但是不可以被其他的應(yīng)用所依賴。普通的 jar 不可以通過(guò) 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ò)誤。我們可以通過(guò)<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>
或者通過(guò)<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)文章
關(guān)于maven項(xiàng)目中使用BCrypt加密方式
BCrypt是一種基于Blowfish加密算法的密碼散列函數(shù),用于安全存儲(chǔ)和驗(yàn)證用戶密碼,它通過(guò)引入鹽和工作因子增加計(jì)算復(fù)雜度,有效防止彩虹表攻擊和破解,BCrypt具備適應(yīng)性工作因子、成本參數(shù)調(diào)整、迭代哈希和密鑰擴(kuò)展等特點(diǎn),被廣泛應(yīng)用于Web應(yīng)用程序的安全性設(shè)計(jì)中2024-10-10
SpringBoot+Redis防止惡意刷新與暴力請(qǐng)求接口的實(shí)現(xiàn)
這篇文章主要為大家介紹了如何利用springboot和Redis來(lái)實(shí)現(xiàn)防止惡意刷新與暴力請(qǐng)求接口,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-06-06
解析java創(chuàng)建對(duì)象的全過(guò)程
文章總結(jié)了Java創(chuàng)建對(duì)象的幾種方式,包括使用new關(guān)鍵字、反射、clone和反序列化,此外,還詳細(xì)描述了創(chuàng)建對(duì)象的過(guò)程,包括類加載、內(nèi)存分配和對(duì)象初始化,最后,強(qiáng)調(diào)了并發(fā)情況下的操作原子性問(wèn)題2025-12-12
EasyExcel自定義導(dǎo)出列和順序?qū)嵗a
這篇文章主要給大家介紹了關(guān)于EasyExcel自定義導(dǎo)出列和順序的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07

