Maven打包SpringBoot工程的實(shí)現(xiàn)示例
在使用Spring Boot和Maven的項(xiàng)目中,你可以使用Maven來打包你的項(xiàng)目。Spring Boot項(xiàng)目通常使用Maven插件中的spring-boot-maven-plugin來執(zhí)行打包操作
一、spring-boot-maven-plugin詳解
spring-boot-maven-plugin是Spring Boot項(xiàng)目中用于支持Maven構(gòu)建的插件。它提供了一些功能,使得將Spring Boot應(yīng)用程序打包成可執(zhí)行的JAR或WAR文件變得更加簡(jiǎn)單。以下是一些常見的用法和配置示例:
1、添加spring-boot-maven-plugin插件到pom.xml
在<build>部分的<plugins>中添加spring-boot-maven-plugin插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2、配置主類(Main Class)
通過配置mainClass來指定Spring Boot應(yīng)用程序的主類。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.example.YourApplicationClass</mainClass>
</configuration>
</plugin>
</plugins>
</build>
3、配置打包的JAR文件名
使用<finalName>元素來指定生成的JAR文件的名稱。
<build>
<finalName>custom-application-name</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
4、包含或排除特定的資源文件
通過配置<resources>元素來包含或排除特定的資源文件。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
5、指定額外的依賴項(xiàng)
通過<dependencies>元素指定額外的依賴項(xiàng),這些依賴項(xiàng)會(huì)被包含到生成的JAR文件中
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>extra-library</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</configuration>
</plugin>
</plugins>
</build>
6、配置運(yùn)行參數(shù)
使用<arguments>元素來配置運(yùn)行時(shí)的JVM參數(shù)
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<arguments>
<argument>--server.port=8081</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
7、自定義插件執(zhí)行階段
通過<executions>元素來自定義插件執(zhí)行階段。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<!-- 自定義配置 -->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
二、Maven打包SpringBoot工程
1、項(xiàng)目配置文件中包含spring-boot-starter-parent
在你的pom.xml文件中,確保你的項(xiàng)目是繼承自spring-boot-starter-parent。這樣可以確保使用Spring Boot的合適版本和默認(rèn)配置。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.5</version> <!-- 使用你的Spring Boot版本 -->
</parent>
2、添加spring-boot-maven-plugin插件
在<build>部分添加spring-boot-maven-plugin插件。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
這個(gè)插件會(huì)自動(dòng)將項(xiàng)目打包成可執(zhí)行的JAR文件。
3、執(zhí)行Maven打包命令
打開命令行,進(jìn)入項(xiàng)目根目錄,執(zhí)行以下Maven命令:
mvn clean package
4、運(yùn)行Spring Boot應(yīng)用程序:
使用以下命令來運(yùn)行打包后的JAR文件:
java -jar your-project.jar
到此這篇關(guān)于Maven打包SpringBoot工程的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Maven打包SpringBoot內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot Rabbit MQ topic 配置文件綁定隊(duì)列和交換機(jī)的
本文詳細(xì)講解了在SpringBoot中使用RabbitMQ進(jìn)行隊(duì)列與交換機(jī)的綁定方法,包括創(chuàng)建交換機(jī)、隊(duì)列和綁定它們的步驟,以及如何發(fā)送和接收消息,適用于開發(fā)高并發(fā)系統(tǒng),如秒殺系統(tǒng)等2024-09-09
Java IO文件過濾器對(duì)命令設(shè)計(jì)模式的使用
java io流里面使用到了很多的設(shè)計(jì)模式,最典型的就是裝飾模式,還有命令模式,下面分兩部分來講Java IO文件過濾器對(duì)命令設(shè)計(jì)模式的使用,一起看看吧2017-06-06
分析java并發(fā)中的wait notify notifyAll
一個(gè)線程修改一個(gè)對(duì)象的值,而另一個(gè)線程則感知到了變化,然后進(jìn)行相應(yīng)的操作,這就是wait()、notify()和notifyAll()方法的本質(zhì)。本文將詳細(xì)來介紹它們概念實(shí)現(xiàn)以及區(qū)別2021-06-06
從零開始學(xué)Java之關(guān)系運(yùn)算符
今天帶大家復(fù)習(xí)Java關(guān)系運(yùn)算符,文中對(duì)Java運(yùn)算符相關(guān)知識(shí)作了詳細(xì)總結(jié),對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們很有幫助,需要的朋友可以參考下2021-08-08
使用Mybatis-plus實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)表的內(nèi)部字段進(jìn)行比較
這篇文章主要介紹了使用Mybatis-plus實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)表的內(nèi)部字段進(jìn)行比較方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Java并發(fā)編程之ReentrantLock實(shí)現(xiàn)原理及源碼剖析
ReentrantLock 是常用的鎖,相對(duì)于Synchronized ,lock鎖更人性化,閱讀性更強(qiáng),文中將會(huì)詳細(xì)的說明,請(qǐng)君往下閱讀2021-09-09
Java調(diào)用C++動(dòng)態(tài)庫(kù)超詳細(xì)步驟講解(附源碼)
C語(yǔ)言因其高效和接近硬件的特性,時(shí)常會(huì)被用在性能要求較高或者需要直接操作硬件的場(chǎng)合,這篇文章主要介紹了Java調(diào)用C++動(dòng)態(tài)庫(kù)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04

