maven多模塊打包注意事項(xiàng)詳解
1、說明
項(xiàng)目開發(fā)過程中,我們會(huì)構(gòu)建多模塊maven工程。例如結(jié)構(gòu)如下springboot
工程。其中,綠色模塊需要構(gòu)建成可執(zhí)行.jar包
文件,紅色模塊是底層抽象模塊被綠色模塊引用。
- 執(zhí)行maven打包,idea終端切換到goon-dance目錄執(zhí)行命令:
mvn clean package -Dmaven.test.skip=true
2、注意事項(xiàng)
(1) 最外層pom
(上圖中goon-dance
層級(jí))不需要配置maven
插件信息。配置也只能配置<pluginManagement>
信息。
.... <!--swagger3--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>${swagger.version}</version> </dependency> </dependencies> </dependencyManagement>
(2)被引用的紅色模塊pom文件也不需要配置maven插件信息。
(3)當(dāng)最外層pom中繼承:spring-boot-starter-parent
時(shí),只需要在打包成可執(zhí)行文件的pom中添加spring-boot-maven-plugin
插件即可
- goon-dance 中的pom
<!--springboot版本--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.7.RELEASE</version> </parent>
- goon-dance-admin的pom文件,不要手動(dòng)添加指定可執(zhí)行文件mainClass文件路徑,否則生成的
jar
包在執(zhí)行時(shí)候提示:jar包沒有主清單屬性。
<build> <plugins> <!--使用springboot集成的maven插件--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <!-- <configuration>--> <!-- <mainClass>com..sdc.SdcWebApplication</mainClass>--> <!-- <skip>true</skip>--> <!-- </configuration>--> <!-- <executions>--> <!-- <execution>--> <!-- <id>repackage</id>--> <!-- <goals>--> <!-- <goal>repackage</goal>--> <!-- </goals>--> <!-- </execution>--> <!-- </executions>--> </plugin> </plugins> </build>
(4)當(dāng)最外出pom的parent是自定義的。則需要配置運(yùn)行的mainClass
類文件。以及配置插件的<goals>
屬性。
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <configuration> <mainClass>com.pousheng.sdc.SdcWebApplication</mainClass> <skip>true</skip> </configuration> <executions> <execution> <id>repackage</id> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin>
以上就是maven多模塊打包注意事項(xiàng)詳解的詳細(xì)內(nèi)容,更多關(guān)于maven多模塊打包注意事項(xiàng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
深入詳解Java中synchronized鎖升級(jí)的套路
synchronized鎖是啥?鎖其實(shí)就是一個(gè)對(duì)象,隨便哪一個(gè)都可以,Java中所有的對(duì)象都是鎖,換句話說,Java中所有對(duì)象都可以成為鎖。本文我們主要來聊聊synchronized鎖升級(jí)的套路,感興趣的可以收藏一下2023-04-04Springboot 如何指定獲取自己寫的配置properties文件的值
這篇文章主要介紹了Springboot 如何指定獲取自己寫的配置properties文件的值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Springsecurity Oauth2如何設(shè)置token的過期時(shí)間
如果用戶在指定的時(shí)間內(nèi)有操作就給token延長有限期,否則到期后自動(dòng)過期,如何設(shè)置token的過期時(shí)間,本文就來詳細(xì)的介紹一下2021-08-08使用Java實(shí)現(xiàn)一個(gè)不同難度(高、中、低)的猜數(shù)字游戲
本文介紹了一個(gè)增強(qiáng)版的猜數(shù)字游戲,包括菜單打印、游戲維持、邏輯功能選擇和源代碼展示,游戲通過隨機(jī)數(shù)生成和邏輯判斷來維持游戲進(jìn)程,用戶可以選擇不同的難度,源代碼展示了如何實(shí)現(xiàn)這三種不同難度的猜數(shù)字游戲,為玩家?guī)砀嗵魬?zhàn)和樂趣,需要的朋友可以參考下2024-09-09spring?boot?3使用?elasticsearch?提供搜索建議的實(shí)例詳解
這篇文章主要介紹了spring?boot3使用elasticsearch提供搜索建議,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08