java 基于maven多模塊合并打包部署的操作過程
項目環(huán)境
- jdk 1.8
- spring 2.7.x
- maven 3.6
項目結構
模塊功能
client – 對外service
common – 共用工具切面等
main – 啟動類
goods – 子模塊具體實現(xiàn)
模塊間依賴關系
client – 無依賴
common – 無依賴
main – client、common、goods
goods – client、common
具體POM配置
頂級pom
引入需要被使用的所有項目子模塊,并統(tǒng)一制定版本號
<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 設置打包入口,掃描的xml配置項等
main 中dependency中引入順序需要注意,需要保證,未被依賴的在前,被依賴的子模塊在后。因為此處的順序決定了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ī)則,打包時將resources文件夾打包進去--> <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,及包含了所有模塊
到此這篇關于java 基于maven多模塊合并打包部署的文章就介紹到這了,更多相關maven多模塊合并打包部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
elasticsearch啟動警告無法鎖定JVM內(nèi)存
今天小編就為大家分享一篇關于elasticsearch啟動警告無法鎖定JVM內(nèi)存,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03