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

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

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

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

(1)找到主類,主類就是你要運行那個作為啟動類就是主類,就在主類的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)這個主類你依賴了其它模塊

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

那么子模塊的,這個medica-auth模塊的pom的build啥也不加,因為spring-boot-maven-plugin的原理就是打成可運行jar包,

可運行jar包就是如圖這樣的,帶BOOT-INF。注意這種文件要是你的子模塊也打成了BOOT,那么主類啟動是掃描不到的,

因為springboot是掃描的com.什么什么的,和你配置的包掃描是沖突的

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

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

(就是分開的2個項目,2個有父工程的,坑就是這種一個項目打包另外一項目,另外一項目的包都是帶BOO-INF的),當你想這個工程引入另外父工程下的子模塊時。

  • 第一個項目

  • 第二個項目

當你第2個項目想依賴第1個項目的子模塊項目時

打出來的包是這樣的

# 上面這是個大坑,因為你第二個項目跑起來,他是掃描不到這個子模塊的bean的

解決辦法

(1)去第1個 項目的子模塊的pom里加這個, 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)把這個包單獨打出來放在你要跑的第2個項目的的資源里路徑里

(3)在對第2個項目進行打包時,把這個通過系統(tǒng)路徑方式導入進來,在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>

這樣,再 次打包之后項目是這樣的

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

補充

還有一點就是,在maven中,假如A依賴B, B依賴C, A項目直接依賴B的坐標,打包生成的A包,那么A項目會導2次C,假如C中有注入Bean,就容易發(fā)生循環(huán)依賴或者依賴沖突,因為注入了不止一個實例。

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

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

#排除依賴
   <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é)

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

相關(guān)文章

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

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

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

    Spring Security學習筆記(一)

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

    maven多模塊項目單獨打包指定模塊jar包方式

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

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

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

    Java簡單計算圓周率完整示例

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

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

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

    Java中4種校驗注解詳解(值校驗、范圍校驗、長度校驗、格式校驗)

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

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

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

    Java concurrency集合之ConcurrentLinkedQueue_動力節(jié)點Java學院整理

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

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

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

最新評論

莲花县| 大田县| 萨嘎县| 泸西县| 时尚| 桃源县| 额敏县| 望城县| 纳雍县| 肥乡县| 平罗县| 门源| 上杭县| 若尔盖县| 娱乐| 航空| 比如县| 酉阳| 湟中县| 安丘市| 苍山县| 宁波市| 泽州县| 若羌县| 双柏县| 曲沃县| 台东市| 开远市| 台山市| 龙岩市| 长治市| 富蕴县| 和林格尔县| 巩义市| 博乐市| 崇仁县| 宁武县| 石渠县| 轮台县| 塘沽区| 牟定县|