在阅读了 Spring 文档和网络上的其他一些文章后,我仍然很困惑 Spring Boot Maven 插件之间有什么区别spring-boot:重新打包和一个常规的MVN包.
我认为 mvn package 创建了一个包含所有依赖项的 jar,那么 Spring 使用该插件的真正原因是什么?
maven 包目标和 spring-boot:repackage 目标不同在自然界。 spring-boot 重新打包的目标主要是使用命令行本身制作 JAR 或 WAR 可执行文件java -jar *.jar
而maven package
goal 获取编译后的代码并将其打包为其可分发的格式,例如 JAR。它是 spring-boot repackage goal,它将 maven 生成的 JAR 重新打包以指定主类并使其成为可执行文件使用一个嵌入式容器.
Maven 包
Spring-boot:重新打包
要包含的插件是:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.4.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
该配置重新打包在 Maven 生命周期的打包阶段构建的 jar 或 war。
因此,一旦 spring-boot-maven-plugin 已包含在您的 pom.xml 中,它会自动尝试使用 spring-boot:repackage 目标重写存档以使它们可执行。您应该使用常用的打包元素将项目配置为构建 jar 或 war(根据需要)。
参考 :https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-maven-plugin.html https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-maven-plugin.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)