SpringBoot使用Maven打包異常-引入外部jar的問題及解決方案
由于項目需要,在需要打包的時候,由于引入的外部jar在本地是可以使用的,但是當打包后啟動時報錯,找不到對應(yīng)的類。
使用
1、引入外部jar包
項目中簡歷文件夾lib
可以在resultces包下簡歷一個lib文件夾,將jar包扔進去:
在配置文件中引用
<dependency>
<groupId>com.xx.xxx</groupId> //組織,隨便命名
<artifactId>***</artifactId> //包的名字,隨便命名
<version>1.1.2</version> //版本,隨便命名
<scope>system</scope> //scope為system時,自動添加lib依賴包
<systemPath>${basedir}/src/main/resources/lib/**.jar</systemPath> //路徑,這里我jar在resources目錄的lib文件夾下,也可以放在跟目標,路徑按需修改
</dependency>
2、項目打包
遇到問題
是由于項目打包時,不識別外部jar,又沒有進行配置,繼而導(dǎo)致出現(xiàn)問題。
解決方案
解決方式很簡單,只需要在pom.xml里面配置下 includeSystemScope 就行。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
PS:maven項目引入外部jar(打包是jar形式springboot項目)
1、在項目src同級目錄建立一個lib目錄,將jar包放入lib中
2、在pom.xml文件中引入依賴
<!-- 引入外部jar包 -->
<dependency>
<groupId>com.hikvision.artemis</groupId>
<artifactId>sdk</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/artemis-http-client-1.0-SNAPSHOT.jar</systemPath>
</dependency>
groupId、artifactId、version可以隨意寫
3、外部jar包可能與本地中jar起沖突,需要排除,常見的是日志沖突,外部jar也有引入日志的jar。在項目運行時會出現(xiàn)警告。
可以在pom所在目錄,使用cmd命令:mvn dependency:tree查看jar依賴關(guān)系,然后使用exclusions排除沖突的jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 排除jar沖突 -->
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
這里是排除了日志,排除外部jar包中日志,若找不到依賴關(guān)系,再排除springboot自帶的log。
總結(jié)
到此這篇關(guān)于SpringBoot使用Maven打包異常-引入外部jar的問題及解決方案的文章就介紹到這了,更多相關(guān)SpringBoot打包異常引入外部jar內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot使用hibernate validator校驗方式
hibernate validator提供了一套比較完善、便捷的驗證實現(xiàn)方式。下面小編給大家介紹下springboot使用hibernate validator校驗方式,感興趣的朋友一起看看吧2018-01-01
Java基于FFmpeg實現(xiàn)Mp4視頻轉(zhuǎn)GIF
FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序。本文主要介紹了在Java中如何基于FFmpeg進行Mp4視頻到Gif動圖的轉(zhuǎn)換,感興趣的小伙伴可以了解一下2022-11-11
Android設(shè)備如何保證數(shù)據(jù)同步寫入磁盤的實現(xiàn)
這篇文章主要介紹了Android設(shè)備如何保證數(shù)據(jù)同步寫入磁盤的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09
eclipse創(chuàng)建java項目并運行的詳細教程講解
eclipse是java開發(fā)的ide工具,是大部分java開發(fā)人員的首選開發(fā)工具,可是對于一些新Java人員來說,不清楚eclipse怎么運行項目?這篇文章主要給大家介紹了關(guān)于eclipse創(chuàng)建java項目并運行的相關(guān)資料,需要的朋友可以參考下2023-04-04

