java 基于maven多模塊合并打包部署的操作過(guò)程
項(xiàng)目環(huán)境
- jdk 1.8
- spring 2.7.x
- maven 3.6
項(xiàng)目結(jié)構(gòu)

模塊功能
client – 對(duì)外service
common – 共用工具切面等
main – 啟動(dòng)類
goods – 子模塊具體實(shí)現(xiàn)
模塊間依賴關(guān)系
client – 無(wú)依賴
common – 無(wú)依賴
main – client、common、goods
goods – client、common
具體POM配置
頂級(jí)pom
引入需要被使用的所有項(xiàng)目子模塊,并統(tǒng)一制定版本號(hào)
<groupId>org.ct</groupId>
<artifactId>gp-data-analysis</artifactId>
<packaging>pom</packaging>
<version>${gp-data.version}</version>
<modules>
<module>gp-data-client</module>
<module>gp-data-common</module>
<module>gp-futrue-goods</module>
<module>gp-data-main</module>
</modules>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<gp-data.version>1.0.0</gp-data.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.ct</groupId>
<artifactId>gp-data-analysis</artifactId>
<version>${gp-data.version}</version>
</dependency>
<dependency>
<groupId>org.ct</groupId>
<artifactId>gp-data-main</artifactId>
<version>${gp-data.version}</version>
</dependency>
<dependency>
<groupId>org.ct</groupId>
<artifactId>gp-data-common</artifactId>
<version>${gp-data.version}</version>
</dependency>
<dependency>
<groupId>org.ct</groupId>
<artifactId>gp-data-client</artifactId>
<version>${gp-data.version}</version>
</dependency>
<dependency>
<groupId>org.ct</groupId>
<artifactId>gp-data-futrue</artifactId>
<version>${gp-data.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<!-- 引入maven打包工具 -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
client、common、goods類似
<!-- 指定父pom版本 -->
<parent>
<artifactId>gp-data-analysis</artifactId>
<groupId>org.ct</groupId>
<version>${gp-data.version}</version>
</parent>main 設(shè)置打包入口,掃描的xml配置項(xiàng)等
main 中dependency中引入順序需要注意,需要保證,未被依賴的在前,被依賴的子模塊在后。因?yàn)榇颂幍捻樞驔Q定了maven install的順序
<parent>
<artifactId>gp-data-analysis</artifactId>
<groupId>org.ct</groupId>
<version>${gp-data.version}</version>
</parent>
<dependencies>
<dependency>
<groupId>org.ct</groupId>
<artifactId>gp-data-common</artifactId>
</dependency>
<dependency>
<groupId>org.ct</groupId>
<artifactId>gp-data-client</artifactId>
</dependency>
<dependency>
<groupId>org.ct</groupId>
<artifactId>gp-data-futrue</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!--打包插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<goals>
<!-- 整合打jar包 -->
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<!--支持靜態(tài)文件熱部署-->
<addResources>true</addResources>
<!-- 指定該Main Class為全局的唯一入口 -->
<mainClass>org.ct.gp.GpDataBootApplication</mainClass>
</configuration>
</plugin>
</plugins>
<!--打包規(guī)則,打包時(shí)將resources文件夾打包進(jìn)去-->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
</resource>
<!--保證mapper文件夾中的.xml文件可以被編譯-->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>使用maven打包root目錄

生成的main jar,及包含了所有模塊

到此這篇關(guān)于java 基于maven多模塊合并打包部署的文章就介紹到這了,更多相關(guān)maven多模塊合并打包部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何利用Java實(shí)現(xiàn)MySQL的數(shù)據(jù)變化監(jiān)聽(tīng)
在高并發(fā)和大數(shù)據(jù)環(huán)境下,實(shí)時(shí)獲取?MySQL?數(shù)據(jù)庫(kù)的增量變化對(duì)數(shù)據(jù)同步、數(shù)據(jù)分析、緩存更新等場(chǎng)景至關(guān)重要,下面我們就來(lái)看看如何通過(guò)Java實(shí)現(xiàn)MySQL的數(shù)據(jù)變化監(jiān)聽(tīng)吧2025-02-02
SpringBoot整合Redis實(shí)現(xiàn)登錄失敗鎖定功能(實(shí)例詳解)
本文我們已經(jīng)探討如何利用Redis來(lái)實(shí)現(xiàn)鎖定賬戶的安全措施,以及通過(guò)SpringBoot整合Redis實(shí)現(xiàn)了這一功能,感興趣的朋友跟隨小編一起學(xué)習(xí)下吧2024-02-02
Java中常見(jiàn)的XML解析方法與應(yīng)用詳解
XML(eXtensible Markup Language)是一種用于存儲(chǔ)和傳輸數(shù)據(jù)的標(biāo)記語(yǔ)言,被廣泛應(yīng)用于表示和交換獨(dú)立于應(yīng)用程序和硬件平臺(tái)的結(jié)構(gòu)化信息,下面我們就來(lái)看看它的常見(jiàn)解析方法有哪些吧2024-01-01
java使用UDP實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信
這篇文章主要為大家詳細(xì)介紹了java使用UDP實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
Springboot 整合 Java DL4J 實(shí)現(xiàn)文物保護(hù)系統(tǒng)的詳細(xì)過(guò)程
在數(shù)字化時(shí)代,文物保護(hù)尤為關(guān)鍵,本文介紹如何利用SpringBoot和Deeplearning4j構(gòu)建一個(gè)圖像識(shí)別的文物保護(hù)系統(tǒng),系統(tǒng)采用卷積神經(jīng)網(wǎng)絡(luò)(CNN),能夠識(shí)別文物的損壞情況,本文介紹Springboot 整合 Java DL4J 實(shí)現(xiàn)文物保護(hù)系統(tǒng),感興趣的朋友一起看看吧2024-10-10
JavaWeb HttpServletResponse對(duì)象及常用方法
這篇文章主要介紹了JavaWeb-HttpServletResponse對(duì)象,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
SpringMVC實(shí)現(xiàn)文件上傳下載功能
這篇文章主要為大家詳細(xì)介紹了springMVC實(shí)現(xiàn)文件上傳和下載的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
Java8通過(guò)Function獲取字段名的方法(獲取實(shí)體類的字段名稱)
Java8通過(guò)Function獲取字段名。不用再硬編碼,效果類似于mybatis-plus的LambdaQueryWrapper,對(duì)Java8通過(guò)Function獲取字段名相關(guān)知識(shí)感興趣的朋友一起看看吧2021-09-09

