Java多Module项目打包
- 按照stackoverflow: How to build an executable jar from multi module maven project? ,在含Main的module的pom.xml有关键设置:
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId></plugin></plugins><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>${maven.assembly.plugin.version}</version><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><archive><manifest><mainClass>com.zju.design.Main</mainClass></manifest></archive></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins></pluginManagement>
</build>
确实可以打包成功,但是使用时mysql r2dbc与redis发生了一些奇怪的问题。下面的方法则没有碰到此问题。
- 参考https://www.cnblogs.com/architectforest/p/13570144.html,亲测有效的方法:
位置一样,都是在含Main的module的pom.xml:
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><mainClass>com.zju.design.Main</mainClass><layout>ZIP</layout></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
观察到这种package模式,其它module是以jar包形式出现在lib里的:
- 一些其它相关文章:
多Module项目的设计中聊到了Module基于技术维度或者基于业务维度的划分的优劣