SpringBoot使用Maven插件進(jìn)行項(xiàng)目打包的方法
SpringBoot自帶Tomcat,所以我們的項(xiàng)目可以單獨(dú)部署,不需要依賴Window、Linux系統(tǒng)中的服務(wù)器,所以打包出來(lái)的Jar包是可以直接運(yùn)行的。Windows中直接cmd命令行模式下,cd切換到j(luò)ar路徑中,使用java 命令運(yùn)行jart包,Linux環(huán)境也是一樣的命令,如下圖:

現(xiàn)在我們開(kāi)始打包,我介紹兩種方式,不管那種方式首先先在項(xiàng)目Pom.xml文件中引入Maven插件。
<build>
<plugins>
<!-- 設(shè)置jdk版本為1.8 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<outputDirectory>${project.build.directory}/${project.name}</outputDirectory>
<addResources>false</addResources>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>
${project.build.directory}/${project.name}
</outputDirectory> <!-- 表示把配置文件拷到和jar包同一個(gè)路徑下 -->
<resources>
<resource>
<directory>src/main/resources/</directory>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-resources-classes</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>
${project.build.directory}/classes
</outputDirectory> <!-- 表示把配置文件拷到和jar包同一個(gè)路徑下 -->
<resources>
<resource>
<directory>src/main/resources/</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<compilerArguments> <bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath> </compilerArguments>
如果是在Windows下面開(kāi)發(fā),${java.home}/lib/rt.jar ; ${java.home,這里中間是;號(hào)隔開(kāi),Linux中則是:號(hào)隔開(kāi),這是個(gè)很坑的地方我提一下。
第一種是IDEA 帶的打包方式,快捷鍵Ctry+Alt+Shift+S同時(shí)按會(huì)出現(xiàn)下圖頁(yè)面

點(diǎn)擊 + 號(hào)?。?!


首先這里有幾個(gè)注意的地方,MainClass選擇啟動(dòng)類(lèi),JarFiles選擇第二個(gè),.MF文件位置請(qǐng)選項(xiàng)目的根目錄位置,也就是Src的上一級(jí)目錄,然后點(diǎn)OK,確定,然后在build。

這樣就打包成功了,不過(guò)一堆jar包在你的項(xiàng)目classic路徑下,在部署的時(shí)候必須把所有的jar放在同一個(gè)文件夾下,這是這種打包方式的缺點(diǎn)。
現(xiàn)在說(shuō)第二種方式,很簡(jiǎn)單,我推薦這種方式,而且能生成單獨(dú)一個(gè)Jar包,不像第一種方式生成了一堆Jar。
配置好Pom.xml之后,一定要是Jdk1.8。
在IDEA的右上角,有個(gè)Maven Project。


先點(diǎn)Clean,然后點(diǎn)package然后項(xiàng)目目錄多了個(gè)target文件夾,里面就生成了你要的jar包了,現(xiàn)在就可以去部署在服務(wù)器啦。
到此這篇關(guān)于SpringBoot使用Maven插件進(jìn)行項(xiàng)目打包的方法的文章就介紹到這了,更多相關(guān)SpringBoot Maven打包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot整合Caffeine實(shí)現(xiàn)本地緩存的實(shí)踐分享
緩存是提升系統(tǒng)性能的一個(gè)不可或缺的工具,通過(guò)緩存可以避免大部分重復(fù)的請(qǐng)求到數(shù)據(jù)庫(kù)層,減少I(mǎi)O鏈接次數(shù),提升整體的響應(yīng)速率,本地緩存中比較常見(jiàn)的比如 Caffeine 緩存,這篇文章將結(jié)合具體的 Springboot 項(xiàng)目搭配 Caffeine 實(shí)現(xiàn)本地緩存的各種使用方式2024-07-07
MyBatis SpringMVC整合實(shí)現(xiàn)步驟詳解
這篇文章主要介紹了MyBatis SpringMVC整合實(shí)現(xiàn)步驟詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
關(guān)于Maven parent.relativePath說(shuō)明
Maven中的relativePath用于指定父項(xiàng)目pom.xml的相對(duì)路徑,默認(rèn)值為../pom.xml,這個(gè)配置幫助Maven在構(gòu)建時(shí)定位父模塊的位置,確保模塊間的依賴關(guān)系正確,relativePath可以指向本地或遠(yuǎn)程倉(cāng)庫(kù)中的父項(xiàng)目,如果不需要尋找父項(xiàng)目,可以將其設(shè)置為空2024-09-09
MyBatis批量插入數(shù)據(jù)到Oracle數(shù)據(jù)庫(kù)中的兩種方式(實(shí)例代碼)
本文通過(guò)實(shí)例代碼給大家分享了MyBatis批量插入數(shù)據(jù)到Oracle數(shù)據(jù)庫(kù)中的兩種方式,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-09-09
SpringMVC結(jié)合ajaxfileupload實(shí)現(xiàn)文件無(wú)刷新上傳代碼
本篇文章主要介紹了SpringMVC結(jié)合ajaxfileupload實(shí)現(xiàn)文件無(wú)刷新上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04
MyBatis-Plus中AutoGenerator的使用案例
AutoGenerator是MyBatis-Plus的代碼生成器,通過(guò)?AutoGenerator?可以快速生成?Pojo、Mapper、?Mapper?XML、Service、Controller?等各個(gè)模塊的代碼,這篇文章主要介紹了MyBatis-Plus中AutoGenerator的詳細(xì)使用案例,需要的朋友可以參考下2023-05-05
詳解Java線程池如何統(tǒng)計(jì)線程空閑時(shí)間
這篇文章主要和大家分享一個(gè)面試題:Java線程池是怎么統(tǒng)計(jì)線程空閑時(shí)間?文中的示例代碼講解詳細(xì),對(duì)我們掌握J(rèn)ava有一定幫助,需要的可以參考一下2022-11-11

