SpringBoot打包成WAR包的時候把第三方jar包打到LIB檔案夾下和把第三方jar包打入到SpringBoot jar包中
轉載
- 首先我們應該知道我們把
SPRINGBOOT專案打包成WAR包和JAR包的時候分別需要何種插件
我們最常用的把springBoot打成jar包的插件是下面這樣的一個插件,這是把我們的springBoot專案打包成為一個可執行jar的插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
- 把
springBoot專案打包成一個war包的插件是下面這樣的一個插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</pilugin>
這個時候我們需要知道如何把第三方JAR包引入到我們的專案中去,話不多說看下面的圖片,
- 第三方jar包在專案中的目錄結構,在
resources目錄下建造一個lib目錄,放入我們的第三方jar包,
在這里插入圖片描述

- 把這個jar包 通過 在pom.xml中進行相應的配置讓我們的專案可以找到這個第三方jar包 如下圖所示: 在這里插入圖片描述

這里1,2,3步驟隨便自己進行填寫 主要是scope和systemPath(用來指明這個第三方jar包的路徑) 我們這里可以學習下scope的用法:
-
system這個意思代表這個jar包是由系統提供的,系統在本地運行編譯的時候會把這個jar包編譯在類路徑下,但是打包的時候是不會進行打包的
-
provided這個意思表明這個
jar包是由jdk容器tomcate容器這些容器來提供的,比如我們最常見的servelet包,這個包tomcat服務器本身就是具有的,我們在打包的時候也不會把它打入進去 -
runtime這個我們在
pom依賴中引入mysql驅動的jar包的時候,經常會進行一個標識,這個的作用是不會把它編譯到類路徑下,但是打包的時候會帶上它,
我們通常使用類的反射來使用 -
test一般我們在測驗環境中使用被這個標識的包,也不會被打包
-
compile默認是這個,編譯打包都會進行帶入,
打WAR包需要我們在打WAR包插件中配置才可以帶上第三方JAR包
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> <configuration> <webResources> <webResource> <directory>${pom.basedir}/src/main/resources/lib/</directory> <targetPath>WEB-INF/lib/</targetPath> <includes> <include>**/*.jar</include> </includes> </webResource> </webResources> </configuration> </plugin>把專案中
lib目錄下所有的jar包,打入到war包中lib檔案夾下,打JAR包的時候需要我們在打JAR包的插件中配置 把第三方JAR包帶入進去 如下圖配置
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin>
總結:我們只需要晉中相應的打jar包和打war包插件就行了,配置來說更為簡單,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/554320.html
標籤:Java
上一篇:輕量靈動: 革新輕量級服務開發
下一篇:返回列表
