idea 多层级模块 maven打包
springCloud多层级模块打包 maven 坑记
-
工具idea,springcloud,springboot,maven(>=2.1.x)
-
组织(多层模块)
-
环境整理
- parent(packaging:pom)
- moduleA(packaging:pom)
- modX(packaging:jar)--runMainClass--service1
- modY(packaging:jar)
- moduleB(packaging:pom)
- modK(packaging:jar)--runMainClass--service2
- modZ(packaging:jar)
- moduleC(packaging:pom)
- modT(packaging:jar)
- modE(packaging:jar)
- moduleA(packaging:pom)
以上模型为modX和modK为可互相调用的微服务,modT和modE作为公开模块被其他模块依赖
最终希望打包后的结果是得到modK.jar的可运行jar包(modX和modK均为不同的对外接口启动微服务模块)
4. pom调整
parent-pom
<module>moduleA</module>
<module>moduleB</module>
<module>moduleC</module>
module(A|B|C)-pom //ABC模块的pom配置
<module>moduleX</module>
<module>moduleY</module>
- modK和modX的配置中需要添加,其他非main运行的jar包不要添加该标签
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<finalName>AppName</finalName>
<fork>true</fork>
<mainClass>com.xxx.xxx.XXXApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>
parent为最外层的pom,ABC是parent的子pom,ABC又有各自的子模块package均为jar.
要保证ABC都继承了相同的父模块'parent', pom里拥有module标签的packaging都为pom
最终打包在parent的lifecycle里package就可以成功打包了。

浙公网安备 33010602011771号