spring-boot-maven-plugin插件说明

<!--使用的插件列表 。 -->
<plugins>
    <!--plugin元素包含描述插件所需要的信息。 -->
    <plugin>
        <!--插件在仓库里的group ID -->
        <groupId />
        <!--插件在仓库里的artifact ID -->
        <artifactId />
        <!--被使用的插件的版本(或版本范围) -->
        <version />
        <!--是否从该插件下载Maven扩展(例如打包和类型处理器),由于性能原因,只有在真需要下载时,该元素才被设置成enabled。 -->
        <extensions />
        <!--在构建生命周期中执行一组目标的配置。每个目标可能有不同的配置。 -->
        <executions>
            <!--execution元素包含了插件执行需要的信息 -->
            <execution>
                <!--执行目标的标识符,用于标识构建过程中的目标,或者匹配继承过程中需要合并的执行目标 -->
                <id />
                <!--绑定了目标的构建生命周期阶段,如果省略,目标会被绑定到源数据里配置的默认阶段 -->
                <phase />
                <!--配置的执行目标 -->
                <goals />
                <!--配置是否被传播到子POM -->
                <inherited />
                <!--作为DOM对象的配置 -->
                <configuration />
            </execution>
        </executions>
        <!--项目引入插件所需要的额外依赖 -->
        <dependencies>
            <!--参见dependencies/dependency元素 -->
            <dependency>
            </dependency>
        </dependencies>
        <!--任何配置是否被传播到子项目 -->
        <inherited />
        <!--作为DOM对象的配置 -->
        <configuration />
    </plugin>
</plugins>

说明:该插件提供了7个maven goal

  • build-image: 将程序使用 buildpack 打包进容器镜像中。
  • build-info:生成项目的构建信息文件 build-info.properties
  • help:显示帮助信息。调用mvn spring-boot:help -Ddetail=true -Dgoal=以显示参数详细信息。
  • repackage:可生成可执行的jar包或war包。插件的核心goal。
  • run:运行 Spring Boot 应用
  • start:在集成测试阶段,控制生命周期
  • stop:在集成测试阶段,控制生命周期

使用spring-boot-maven-plugin的下生成普通的jar包

  1. 通过skip选项
//命令行配置
mvn clean package -D spring-boot.repackage.skip=true
//xml配置
<project>
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>repackage</id>
            <!-- 引入 spring-boot-starter-parent 的项目可注释掉 -->                        
            <!-- <goals> -->
            <!-- <goal>repackage</goal> -->
            <!-- </goals> -->
            <configuration>
              <skip>true</skip>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
  1. 在spring-boot-maven-plugin插件上配置classifier参数,指定可执行jar包的名称后缀,例如将classifier设置为exec,则mvn package 生成的原始 jar包不被rapackage目标重命名,可执行jar包的名称变为*-exec.jar。原始 jar包就可以被其他项目依赖啦。
<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>repackage</id>
<!--                        引入 spring-boot-starter-parent 的项目可注释掉 -->                        
<!--                        <goals> -->
<!--                            <goal>repackage</goal> -->
<!--                        </goals> -->
						<configuration>
							<classifier>exec</classifier>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>

参考文章:

https://zhuanlan.zhihu.com/p/634098705

spring-boot-maven-plugin:打依赖包_spring-boot-maven-plugin可以被引做依赖吗-CSDN博客

官方文档:Spring Boot Maven Plugin Documentation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BingoXing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值