使用maven一键构建多个微服务自动生成多个jar包时,common公共依赖模块打包时不建议直接使用spring-boot-maven-plugin,该插件会打成可执行jar,就会去寻找main主函数,可能报找不到启动类的错,且打包后的jar结构不能被其他模块依赖
解决方法:
父模块:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
公共模块(没有main主函数启动类):
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 配置插件执行的阶段 -->
<executions>
<execution>
<id>repackage</id>
<phase>package</phase>
<goals>
<goal>repackage</goal>
</goals>
<!-- 配置打包时不需要启动应用 -->
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
其他子模块:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
最后执行父模块的package就可一键打包