1、創(chuàng)建一個SpringBoot項目
下載項目之后將項目導入IDEA
2、如何添加外部jar包
準備一個外部的jar包, 我這里使用的是guava-31.1-jre.jar
作為演示
下載地址:https://repo1.maven.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar
在項目根路徑下創(chuàng)建一個文件夾libs,將guava-31.1-jre.jar放到libs下。
在pom.xml添加外部jar依賴:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.1-jre</version>
<!--
scope=system表示此依賴是來自外部jar,而不是maven倉庫
注意:
只有當scope設置為system時,systemPath屬性才會生效
systemPath是一個物理文件路徑,來指定依賴的外部jar在物理磁盤的位置
${project.basedir}代表項目根目錄
-->
<scope>system</scope>
<systemPath>${project.basedir}/libs/guava-31.1-jre.jar</systemPath>
</dependency>
通過以上步驟, 外部的這個guava-31.1-jre.jar文件就被成功引入到當前項目中了,測試一下
新建一個Test測試類文件
測試通過, 外部jar包成功集成到項目中
3、如何將外部jar包打包到當前項目jar包中
如果我們不進行配置,打包的時候是不會將外部的jar打包到jar/war中的
Spring Boot的項目,一般都會使用到打包插件,那么只需要添加一個配置即可
修改pom.xml文件, 修改內容如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
<!-- 在打包時將引用的外部jar引入到當前項目包中 -->
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
includeSystemScope為true
這一個參數(shù)配置最為重要
如果有些配置文件,并非Spring Boot的默認路徑,那么可能就需要借助resouce配置(resources節(jié)點和plugins節(jié)點同級):文章來源:http://www.zghlxwxcb.cn/news/detail-607235.html
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
<!-- 在打包時將引用的外部jar引入到當前項目包中 -->
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<!-- directory 表示取該目錄下的文件 -->
<directory>libs</directory>
<!--targetPath 指定打包到哪個目錄下 默認是放到class目錄下-->
<targetPath>/BOOT-INF/lib/</targetPath>
<!-- 取符合格式的所有文件 *代表全部 -->
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
</build>
以上配置完成, 執(zhí)行打包進行測試, 看看打包完成之后的項目包中是否包含外部jar文章來源地址http://www.zghlxwxcb.cn/news/detail-607235.html
4、總結
- 引入jar包, 最關鍵的以下配置
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.1-jre</version>
<!--
scope=system表示此依賴是來自外部jar,而不是maven倉庫
注意:
只有當scope設置為system時,systemPath屬性才會生效
systemPath是一個物理文件路徑,來指定依賴的外部jar在物理磁盤的位置
${project.basedir}代表項目根目錄
-->
<scope>system</scope>
<systemPath>${project.basedir}/libs/guava-31.1-jre.jar</systemPath>
</dependency>
- 發(fā)布jar包, 最關鍵的以下配置,使用spring-boot-maven-plugin插件及以下配置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
<!-- 在打包時將引用的外部jar引入到當前項目包中 -->
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<!-- directory 表示取該目錄下的文件 -->
<directory>libs</directory>
<!--targetPath 指定打包到哪個目錄下 默認是放到class目錄下-->
<targetPath>/BOOT-INF/lib/</targetPath>
<!-- 取符合格式的所有文件 *代表全部 -->
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
</build>
到了這里,關于SpringBoot項目如何引入外部jar及將外部jar打包到項目發(fā)布jar包的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!