正文
废话少说,在pom.xml文件中添加如下代码,下面的不用看
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- <executions>-->
<!-- <execution>-->
<!-- <goals>-->
<!-- <goal>repackage</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
</plugin>
</plugins>
</build>
*如果你使用的SpringBoot版本是2.4之前的,如2.3.12.RELEASE,
然后你还使用了spring-boot-configuration-processor,
那你可能还需如下配置,用来排除configuration-processor这种生产时才用到的包
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
没用的知识
spring-boot-maven-plugin
的goals
,有五个可选的值
<!-- 这个是默认值,意思是在运行了mvn package之后,会再一次打包,
mvn package生成的jar/war保留为origin文件,
意思就是输出目录会有.jar/.war 和 .origin文件 -->
<goal>repackage</goal>
打包图例:

<!-- 剩下的四个了解即可 -->
<!-- 用于运行Spring Boot应用 -->
<goal>run</goal>
<!-- 用于mvn integration-test阶段,对Spring Boot应用生命周期进行管理 -->
<goal>start</goal>
<!-- 用于mvn integration-test阶段,对Spring Boot应用生命周期进行管理 -->
<goal>stop</goal>
<!-- 用于生成构建信息文件build-info.properties -->
<goal>build-info</goal>
一般来说,我都使用默认值,所以直接随手一粘就行了。
*如果不写这个的话,直接mvn package,那生成的jar/war就跑不起来
这是因为mvn package打的包是不带依赖的,到时候肯定各种找不到class了哦
追加:那这玩意怎么用?
我反正用的idea,直接在右边的边边找到Maven选项卡,
然后点开Lifecycle,依次点clean-》compile-》package,
然后就可以了。

如果实在是手痒,想自己操作,那你就再项目下面,先运行mvn compile
,然后再运行一个mvn package spring-boot:repackage
,先说好,不保证可以,我没试过,再见。
追加:什么?你说你想深入研究这玩意?
那你就去看这个官方文档啊,真是的!
也可以看看这个Maven插件系列之spring-boot-maven-plugin