Idea創(chuàng)建多模塊maven聚合項(xiàng)目的實(shí)現(xiàn)
1.怎么理解maven的繼承和聚合
maven多模塊項(xiàng)目通常由一個(gè)父模塊和若干個(gè)子模塊構(gòu)成,每個(gè)模塊都對(duì)應(yīng)著一個(gè)pom.xml。它們之間通過繼承和聚合(也稱作多模塊)相互關(guān)聯(lián)。多模塊適用于一些比較大的項(xiàng)目,通過合理的模塊拆分,實(shí)現(xiàn)代碼的復(fù)用,便于維護(hù)和管理。
繼承:和java中的繼承有點(diǎn)類似,就是父pom.xml聲明的版本和引用的jar,子模塊可以不用再引用直接調(diào)用。
聚合:父模塊包含多個(gè)子模塊就是聚合,多個(gè)子模塊之間可以調(diào)用,但是要注意關(guān)系,不要兩個(gè)互相依賴,這樣做的好處就是可以通過一條命令進(jìn)行構(gòu)建
注意:
groupId是項(xiàng)目組織唯一的標(biāo)識(shí)符,實(shí)際對(duì)應(yīng)JAVA的包的結(jié)構(gòu),artifactId是項(xiàng)目的唯一的標(biāo)識(shí)符,實(shí)際對(duì)應(yīng)項(xiàng)目的名稱,就是項(xiàng)目根目錄的名稱。groupId一般分為多個(gè)段,一般第一段為域,第二段為公司名稱,第三段通常為項(xiàng)目名稱。
2.Idea創(chuàng)建多模塊項(xiàng)目
2.1創(chuàng)建父模塊(空的maven項(xiàng)目)
pom.xml配置 <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.RELEASE</version> </parent> <groupId>cn.yskcoder.fire</groupId> <artifactId>fire</artifactId> <packaging>pom</packaging> <version>v1.0</version> <modules> <module>fire-common</module> <module>fire-dao</module> <module>fire-service</module> <module>fire-web</module> </modules> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <spring-boot.version>2.1.6.RELEASE</spring-boot.version> </properties>
2.2.創(chuàng)建工具類(common)模塊(dao、service同這個(gè)操作一樣)
pom.xml配置 <modelVersion>4.0.0</modelVersion> <parent> <artifactId>fire</artifactId> <groupId>cn.yskcoder.fire</groupId> <version>v1.0</version> </parent> <!--模塊信息--> <packaging>jar</packaging> <name>fire-common</name> <artifactId>fire-common</artifactId> <description>fire 通用工具類模塊</description> <!--模塊依賴--> <dependencies> </dependencies>
2.3.創(chuàng)建數(shù)據(jù)庫訪問(dao)模塊(只貼pom.xml代碼)
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>fire</artifactId>
<groupId>cn.yskcoder.fire</groupId>
<version>v1.0</version>
</parent>
<!--模塊信息-->
<packaging>war</packaging>
<name>fire-web</name>
<artifactId>fire-web</artifactId>
<description>fire web模塊</description>
<!--模塊依賴-->
<dependencies>
<dependency> <groupId>cn.yskcoder.fire</groupId>
<artifactId>fire-service</artifactId>
<version>v1.0</version>
</dependency>
<dependency> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/webapp</directory>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
3.Idea打包多模塊項(xiàng)目
clean package -Dmaven.test.skip=true
接下來有空會(huì)繼續(xù)更新這個(gè)項(xiàng)目
https://github.com/yskcoder/Fire
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。
上一篇:java實(shí)體對(duì)象與Map之間的轉(zhuǎn)換工具類代碼實(shí)例
欄 目:Java
下一篇:SpringCloud融入Python的實(shí)現(xiàn)
本文標(biāo)題:Idea創(chuàng)建多模塊maven聚合項(xiàng)目的實(shí)現(xiàn)
本文地址:http://www.jygsgssxh.com/a1/Java/8869.html
您可能感興趣的文章
- 01-10如何解決線程太多導(dǎo)致java socket連接池出現(xiàn)的問題
- 01-10JAVA模擬多線程給多用戶發(fā)送短信
- 01-10Java多線程并發(fā)編程和鎖原理解析
- 01-10詳解IDEA JUnit5測(cè)試套件運(yùn)行錯(cuò)誤的問題
- 01-10java中的String定義的字面量最大長度是多少
- 01-10springboot多文件上傳代碼實(shí)例及解析
- 01-10java文件下載代碼實(shí)例(單文件下載和多文件打包下載)
- 01-10springboot創(chuàng)建攔截器過程圖解
- 01-10springboot多租戶設(shè)計(jì)過程圖解
- 01-10Java 在Excel單元格中應(yīng)用一種/多種字體樣式(實(shí)例代碼)


閱讀排行
本欄相關(guān)
- 01-10Java實(shí)現(xiàn)動(dòng)態(tài)模擬時(shí)鐘
- 01-10Springboot中@Value的使用詳解
- 01-10JavaWeb實(shí)現(xiàn)郵件發(fā)送功能
- 01-10利用Java實(shí)現(xiàn)復(fù)制Excel工作表功能
- 01-10Java實(shí)現(xiàn)動(dòng)態(tài)數(shù)字時(shí)鐘
- 01-10java基于poi導(dǎo)出excel透視表代碼實(shí)例
- 01-10java實(shí)現(xiàn)液晶數(shù)字字體顯示當(dāng)前時(shí)間
- 01-10基于Java驗(yàn)證jwt token代碼實(shí)例
- 01-10Java動(dòng)態(tài)顯示當(dāng)前日期和時(shí)間
- 01-10淺談Java中真的只有值傳遞么
隨機(jī)閱讀
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?


