1、项目结构
admin、api和web模块依赖core模块,admin,api和web模块之间没有任何依赖的关系。
2、注意点:
1、父模块不需要打包和对应不需要打包的模块的pom文件不需要写:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
原因:需要打包主模块需要到对应包中的依赖,打包了就找不到了。
3、需要打包的主模块需要指定主程序入口:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<!-- 如果没有该配置,devtools不会生效 -->
<!-- 指定该Main Class为全局的唯一入口 -->
<mainClass>com.web.web.WebApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
</goals>
</execution>
</executions>
</plugin>
</plugins>
<finalName>web</finalName>
</build>
其他需要打包的主程序模块pom文件,build部分按类似结构配置即可。
最后进入pom父文件所在目录,使用打包命令,需要打包的主模块target目录会自动生成不同的jar包。
mvn clean install -Dmaven.test.skip=true