最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于maven工程多模塊、項(xiàng)目打包問(wèn)題

 更新時(shí)間:2025年03月24日 09:20:52   作者:seeutet  
這篇文章主要介紹了關(guān)于maven工程多模塊、項(xiàng)目打包問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1、在同一父工程下的情況

(1)找到主類(lèi),主類(lèi)就是你要運(yùn)行那個(gè)作為啟動(dòng)類(lèi)就是主類(lèi),就在主類(lèi)的pom里加上如下配置

  <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
            # 下面幾行不重要,重要的是上面2行
                <includeSystemScope>true</includeSystemScope>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
            </plugin>
        </plugins>
    </build>

(2)這個(gè)主類(lèi)你依賴(lài)了其它模塊

   <dependency>
            <groupId>com.cdyx</groupId>
            <artifactId>medica-auth</artifactId>
            <version>1.0.0</version>
        </dependency>

那么子模塊的,這個(gè)medica-auth模塊的pom的build啥也不加,因?yàn)閟pring-boot-maven-plugin的原理就是打成可運(yùn)行jar包,

可運(yùn)行jar包就是如圖這樣的,帶BOOT-INF。注意這種文件要是你的子模塊也打成了BOOT,那么主類(lèi)啟動(dòng)是掃描不到的,

因?yàn)閟pringboot是掃描的com.什么什么的,和你配置的包掃描是沖突的

最后,以此類(lèi)推,有多少子模塊就這樣設(shè)置,最后package就行了

2、不在同一父工程下的情況

(就是分開(kāi)的2個(gè)項(xiàng)目,2個(gè)有父工程的,坑就是這種一個(gè)項(xiàng)目打包另外一項(xiàng)目,另外一項(xiàng)目的包都是帶BOO-INF的),當(dāng)你想這個(gè)工程引入另外父工程下的子模塊時(shí)。

  • 第一個(gè)項(xiàng)目

  • 第二個(gè)項(xiàng)目

當(dāng)你第2個(gè)項(xiàng)目想依賴(lài)第1個(gè)項(xiàng)目的子模塊項(xiàng)目時(shí)

打出來(lái)的包是這樣的

# 上面這是個(gè)大坑,因?yàn)槟愕诙€(gè)項(xiàng)目跑起來(lái),他是掃描不到這個(gè)子模塊的bean的

解決辦法

(1)去第1個(gè) 項(xiàng)目的子模塊的pom里加這個(gè), true意思是打成class,不打成BOO-INF

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

(2)把這個(gè)包單獨(dú)打出來(lái)放在你要跑的第2個(gè)項(xiàng)目的的資源里路徑里

(3)在對(duì)第2個(gè)項(xiàng)目進(jìn)行打包時(shí),把這個(gè)通過(guò)系統(tǒng)路徑方式導(dǎo)入進(jìn)來(lái),在pom里加

    <dependency>
            <groupId>com.XXX</groupId>
            <artifactId>XXXXX</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/medica-auth-1.0.0.jar</systemPath>
        </dependency>

這樣,再 次打包之后項(xiàng)目是這樣的

其實(shí)意思就是你要想辦法把包路徑搞成com.xx.xxx,同級(jí)的。假如這個(gè)XXXXX的jar包又依賴(lài)了他自己父工程下的其它自己開(kāi)發(fā)的坐標(biāo)(沒(méi)事,把其它2個(gè)打成依賴(lài)和它放這同一級(jí)目錄即可)

補(bǔ)充

還有一點(diǎn)就是,在maven中,假如A依賴(lài)B, B依賴(lài)C, A項(xiàng)目直接依賴(lài)B的坐標(biāo),打包生成的A包,那么A項(xiàng)目會(huì)導(dǎo)2次C,假如C中有注入Bean,就容易發(fā)生循環(huán)依賴(lài)或者依賴(lài)沖突,因?yàn)樽⑷肓瞬恢挂粋€(gè)實(shí)例。

可以用下面的方式在A的pom里排一次C的依賴(lài),那么在A的lib里就不會(huì)再有C,而只讓B里有C,但是這種只限于C是單純的沒(méi)有注入bean的情況,假如有注入bean的注解,放B里去了,那么A是掃不到C的,一般不會(huì)套這種2層結(jié)構(gòu),只是今天遇到了。

一般還是項(xiàng)目的父工程和子模塊不要搞相互依賴(lài)的情況,直接寫(xiě)一起不好嗎?!!每個(gè)子模塊作為單獨(dú)功能單獨(dú)的服務(wù)才符合微服務(wù)的思想

#排除依賴(lài)
   <dependency>
            <groupId>com.cdyx</groupId>
            <artifactId>medica-auth</artifactId>
            <version>1.0.0</version>
            <exclusions>
                <exclusion>
                    <groupId>com.cdyx</groupId>
                    <artifactId>medica-security</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java如何分布式鎖實(shí)現(xiàn)和選型

    java如何分布式鎖實(shí)現(xiàn)和選型

    文章介紹了分布式鎖的重要性以及在分布式系統(tǒng)中常見(jiàn)的問(wèn)題和需求,它詳細(xì)闡述了如何使用分布式鎖來(lái)確保數(shù)據(jù)的一致性和系統(tǒng)的高可用性,文章還提供了基于數(shù)據(jù)庫(kù)、Redis和Zookeeper的分布式鎖實(shí)現(xiàn)示例,分析了每種方法的優(yōu)點(diǎn)和缺點(diǎn)
    2025-01-01
  • Spring Security學(xué)習(xí)筆記(一)

    Spring Security學(xué)習(xí)筆記(一)

    這篇文章主要介紹了Spring Security的相關(guān)資料,幫助大家開(kāi)始學(xué)習(xí)Spring Security框架,感興趣的朋友可以了解下
    2020-09-09
  • maven多模塊項(xiàng)目單獨(dú)打包指定模塊jar包方式

    maven多模塊項(xiàng)目單獨(dú)打包指定模塊jar包方式

    這篇文章主要介紹了maven多模塊項(xiàng)目單獨(dú)打包指定模塊jar包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • java藍(lán)橋杯歷年真題及答案整理(小結(jié))

    java藍(lán)橋杯歷年真題及答案整理(小結(jié))

    這篇文章主要介紹了java藍(lán)橋杯歷年真題及答案整理(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Java簡(jiǎn)單計(jì)算圓周率完整示例

    Java簡(jiǎn)單計(jì)算圓周率完整示例

    這篇文章主要介紹了Java簡(jiǎn)單計(jì)算圓周率,結(jié)合完整實(shí)例形式分析了Java計(jì)算圓周率的原理與操作技巧,代碼備有較為詳盡的注釋便于理解,需要的朋友可以參考下
    2018-05-05
  • Java接收xml格式參數(shù)轉(zhuǎn)為json的方法

    Java接收xml格式參數(shù)轉(zhuǎn)為json的方法

    文章主要介紹了如何使用JAXB將XML格式的參數(shù)接收并轉(zhuǎn)換為Java實(shí)體類(lèi),然后將實(shí)體類(lèi)轉(zhuǎn)換為JSON格式,文中提到在實(shí)體類(lèi)中使用`@XmlElement`和`@JsonProperty`注解的重要性,以及如何處理復(fù)雜的XML結(jié)構(gòu)
    2024-11-11
  • Java中4種校驗(yàn)注解詳解(值校驗(yàn)、范圍校驗(yàn)、長(zhǎng)度校驗(yàn)、格式校驗(yàn))

    Java中4種校驗(yàn)注解詳解(值校驗(yàn)、范圍校驗(yàn)、長(zhǎng)度校驗(yàn)、格式校驗(yàn))

    這篇文章主要給大家介紹了關(guān)于Java中4種校驗(yàn)注解詳解的相關(guān)資料,分別包括值校驗(yàn)、范圍校驗(yàn)、長(zhǎng)度校驗(yàn)、格式校驗(yàn)等,Java注解(Annotation)是一種元數(shù)據(jù),它可以被添加到Java代碼中,并可以提供額外的信息和指令,需要的朋友可以參考下
    2023-08-08
  • 圖文詳解MyEclipse更換背景主題的方法

    圖文詳解MyEclipse更換背景主題的方法

    今天小編就為大家分享一篇關(guān)于MyEclipse更換背景主題的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Java concurrency集合之ConcurrentLinkedQueue_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java concurrency集合之ConcurrentLinkedQueue_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java concurrency集合之ConcurrentLinkedQueue,需要的朋友可以參考下
    2017-06-06
  • 淺談Spring中的循環(huán)依賴(lài)問(wèn)題與解決方案

    淺談Spring中的循環(huán)依賴(lài)問(wèn)題與解決方案

    這篇文章主要介紹了淺談Spring中的循環(huán)依賴(lài)問(wèn)題與解決方案,循環(huán)依賴(lài)就是兩個(gè)或則兩個(gè)以上的bean互相持有對(duì)方,最終形成閉環(huán),比如A依賴(lài)于B,B依賴(lài)于C,C又依賴(lài)于A,需要的朋友可以參考下
    2023-12-12

最新評(píng)論

米脂县| 揭阳市| 环江| 彭山县| 临城县| 淄博市| 兴文县| 攀枝花市| 布尔津县| 阳曲县| 嘉荫县| 沁源县| 永年县| 甘孜县| 临桂县| 吉首市| 汤原县| 裕民县| 海丰县| 徐水县| 大足县| 巴林右旗| 巴青县| 万山特区| 安化县| 大城县| 沈丘县| 屏边| 长垣县| 句容市| 乌恰县| 五大连池市| 志丹县| 宜都市| 广汉市| 兴城市| 成武县| 盐边县| 镇安县| 洪洞县| 德惠市|