SpringBoot 多模塊打包

SpringBoot 多模塊打包是個(gè)坑,各位同行的資料借鑒了不少還是花了一下午才爬出來(lái)。

需求背景

已構(gòu)建一個(gè)Spring Boot多模塊項(xiàng)目,項(xiàng)目結(jié)構(gòu)為


image.png

其中:
api模塊和common模塊是基礎(chǔ)模塊,沒有引用其他模塊
dao模塊是Mybatis基礎(chǔ)的模塊,還引用了common模塊
service模塊引用了dao模塊和api模塊
web模塊引用了service模塊,是springboot的啟動(dòng)入口模塊

配置POM文件

父工程的POM

不要配置build節(jié)點(diǎn)
不要配置build節(jié)點(diǎn)
不要配置build節(jié)點(diǎn)

api模塊

image.png

注意:不配置build節(jié)點(diǎn),不要手抖加了Maven的插件哦
注意:紅色框住的默認(rèn)是沒有的,加一下指定父pom文件的位置

common模塊

同api模塊

dao模塊

image.png

注意:這里配置build節(jié)點(diǎn)只是因?yàn)閐ao模塊里有Mybatis的xml文件

service模塊

同api模塊

web模塊

這里是重點(diǎn),直接貼代碼

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**.*</include>
                    <include>**/*.*</include><!-- i18n能讀取到 -->
                    <include>**/*/*.*</include>
                </includes>
            </resource>
        </resources>

        <!-- 為jar包取名 -->
        <finalName>web-start</finalName>
        <plugins>
            <!-- 熱布署 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--fork :  如果沒有該項(xiàng)配置,這個(gè)devtools不會(huì)起作用,即應(yīng)用不會(huì)restart -->
                    <fork>true</fork>
                    <mainClass>com.eliteai.et8080.Et8080WebApplication</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依賴的包都打包到生成的Jar包中-->
                        </goals>
                        <!--可以生成不含依賴包的不可執(zhí)行Jar包-->
                        <!-- configuration>
                          <classifier>exec</classifier>
                        </configuration> -->
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
                <configuration>
                    <skipTests>true</skipTests>    <!--默認(rèn)關(guān)掉單元測(cè)試 -->
                </configuration>
            </plugin>
        </plugins>
    </build>

到這里結(jié)束了,對(duì)著項(xiàng)目package就行了??尚姓?qǐng)點(diǎn)個(gè)贊哈~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,288評(píng)論 6 342
  • 在老家去菜園的中間路口,往上走的沙皮路。 在玩荒野行動(dòng),一輛吉普車,隊(duì)友已經(jīng)在車上了,相信他一次。 于是我就打開地...
    沂尾魚閱讀 229評(píng)論 0 0
  • millieayi閱讀 384評(píng)論 0 0
  • 初涉紅塵尚新鮮,堪破人情不留戀。 斟酌來(lái)去找分寸,精明一半傻一半。
    上林葉閱讀 267評(píng)論 2 4

友情鏈接更多精彩內(nèi)容