正文
廢話少說,在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