spring-boot-maven-plugin插件 —— 打成普通jar
如果是 Spring Boot 项目结构是通过父子工程来管理,就可能有多个层级结构,工程之前存在依赖关系,如果所依赖的包被打包 spring boot 的可执行 jar,则该工程中启动时就会报找不到类的异常。
此时需要将所依赖的包打包普通 jar 包,就不要执行 spring-boot.repackage 操作。如下操作:
mvn clean package -Dspring-boot.repackage.skip=true
或在 pom.xml 文件中配置将是否打成执行 jar 包配置为参数项,默认为 false(即插件默认的打可执行 jar),外部执行 mvn package 传入该参数值。如下示例:
<project>
<properties>
<provider.package>false</provider.package>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>${provider.package}</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>
执行 mvn 命令,并传入 provider.package 参数
mvn clean package file-server -Dprovider.package=true
上面配置等同于:
<project>
<properties>
<provider.package>false</provider.package>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<skip>${provider.package}</skip>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>