springboot項目中引入本地依賴jar包并打包到lib文件夾中
前言:
工作中,碰到過springboot框架構建的java web項目,需要集成第三方推送功能,于是使用到了小米推送服務,下載了相關jar包。項目中引入本地jar,問題不大,編寫完代碼后,通過測試類測試,也沒問題。然后就準備打包部署到開發(fā)服上。由于項目是通過tomcat部署的,所以打包方式是打成war包。打包后上傳到開發(fā)服,啟動成功后去測試編寫的推送接口,發(fā)現(xiàn)失敗了。
通過分析發(fā)現(xiàn),打包后的war中存放項目依賴jar的lib目錄中并沒有本地引入的推送相關的jar包。折騰了半個小時,才解決了問題。解決后才發(fā)現(xiàn),其實是對maven這塊的基礎知識有點遺忘了。這里總結下springboot項目引入本地jar包,如何通過maven打包將jar打進lib文件夾中:
1.首先在resources目錄下創(chuàng)建一個lib文件夾,將需要的jar包放入lib文件夾中
2.在pom.xml文件中,添加依賴坐標。
注意:這里由于導入的本地jar,所以< dependency></ dependency>標簽中需要添加
<dependency> ... <!-- 表示當前jar是外部引入的,maven不會在repository查找它 --> <scope>system</scope> <!-- 指定引入的外部jar存放的路徑,一般將jar包放在項目的某個目錄下,通過相對路徑指定 --> <systemPath>...</systemPath> </dependency>
3.在pom的< build></ build>標簽中還需進行如下修改
<build> <finalName>xxxxxx</finalName> <plugins> <!--配置將第三方jar打進jar包中,跟<packaging>jar</packaging>配合,如果不寫,springboot默認是打成jar包--> <!--<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 項目中單獨引入第三方jar時,includeSystemScope值要為true <includeSystemScope>true</includeSystemScope> </configuration> </plugin>--> <!-- 打war包 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> <configuration> <webResources> <!-- 配置將第三方jar打進war包中,跟<packaging>war</packaging>配合 --> <webResource> <directory>${pom.basedir}/src/main/resources/lib/</directory> <targetPath>WEB-INF/lib/</targetPath> <includes> <include>**/*.jar</include> </includes> </webResource> </webResources> </configuration> </plugin> </plugins> </build>
根據(jù)項目需要,打成jar包部署或war包部署,需要引入不同的插件,添加不同的配置。如果需要打成war包,不要忘了在pom.xml文件中添加< packaging >war</ packaging>配置。
4.打包部署后測試驗證
可以通過調用相關接口測試,也可直接觀察部署包中l(wèi)ib文件夾中是否存在引入的本地jar來判定
到此這篇關于springboot項目中引入本地依賴jar包,如何打包到lib文件夾中的文章就介紹到這了,更多相關springboot引入本地依賴jar包內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot整合canal實現(xiàn)數(shù)據(jù)同步的示例代碼
本文主要介紹了SpringBoot整合canal實現(xiàn)數(shù)據(jù)同步,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03