shade解決mybatis包沖突問(wèn)題及項(xiàng)目引用的方法
之前寫(xiě)過(guò)shade解決mybatis包沖突的文章,主要講了如何為一個(gè)第三方包去打一個(gè)shade包,然后它可以解決相同包的不同版本之間的沖突問(wèn)題;而今天主要說(shuō)一下在項(xiàng)目里如何引用這個(gè)包。
1 如果只是使用包里的資源,而不使用這個(gè)包的依賴(lài)包,需要這樣引用即可
<dependency> <groupId>com.lind</groupId> <artifactId>a-start-test-depend-shade</artifactId> <version>1.0.4</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/a-start-test-depend-shade-1.0.4.jar</systemPath> </dependency>
2 如果在引用包里,還需要使用它的依賴(lài)包,需要把system去掉
<dependency> <groupId>com.lind</groupId> <artifactId>a-start-test-depend-shade</artifactId> <version>1.0.4</version> <systemPath>${project.basedir}/src/main/resources/a-start-test-depend-shade-1.0.4.jar</systemPath> </dependency>
3 注意:如果你的shade項(xiàng)目和你的當(dāng)前項(xiàng)目在一起的話,可能能有問(wèn)題
你可以把shade項(xiàng)目打完jar包之后,移除module,然后再試一下,就可以看到你的jar包里的對(duì)象被shade了
4 pom配置文件里的scope是作用域的意思,下面介紹一下幾種scope
- compile:默認(rèn)值 他表示被依賴(lài)項(xiàng)目需要參與當(dāng)前項(xiàng)目的編譯,還有后續(xù)的測(cè)試,運(yùn)行周期也參與其中,是一個(gè)比較強(qiáng)的依賴(lài)。打包的時(shí)候通常需要包含進(jìn)去
- test:依賴(lài)項(xiàng)目?jī)H僅參與測(cè)試相關(guān)的工作,包括測(cè)試代碼的編譯和執(zhí)行,不會(huì)被打包,例如:junit
- runtime:表示被依賴(lài)項(xiàng)目無(wú)需參與項(xiàng)目的編譯,不過(guò)后期的測(cè)試和運(yùn)行周期需要其參與。與compile相比,跳過(guò)了編譯而已。例如JDBC驅(qū)動(dòng),適用運(yùn)行和測(cè)試階段
- provided:打包的時(shí)候可以不用包進(jìn)去,別的設(shè)施會(huì)提供。事實(shí)上該依賴(lài)?yán)碚撋峡梢詤⑴c編譯,測(cè)試,運(yùn)行等周期。相當(dāng)于compile,但是打包階段做了exclude操作
- system:從參與度來(lái)說(shuō),和provided相同,不過(guò)被依賴(lài)項(xiàng)不會(huì)從maven倉(cāng)庫(kù)下載,而是從本地文件系統(tǒng)拿。需要添加systemPath的屬性來(lái)定義路徑
總結(jié)
到此這篇關(guān)于shade解決mybatis包沖突問(wèn)題及項(xiàng)目引用的方法的文章就介紹到這了,更多相關(guān)shade解決mybatis包沖突內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot如何查找配置文件路徑的順序和其優(yōu)先級(jí)別
此文是在工作中遇到的關(guān)于springboot配置文件的問(wèn)題,在網(wǎng)上查閱資料和自己測(cè)試之后記錄的,以便日后查閱。希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08Maven本地打包war包實(shí)現(xiàn)代碼解析
這篇文章主要介紹了Maven本地打包war包實(shí)現(xiàn)代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09SpringBoot Admin使用及心跳檢測(cè)原理分析
這篇文章主要介紹了SpringBoot Admin使用及心跳檢測(cè)原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11Java中增強(qiáng)for循環(huán)在一維數(shù)組和二維數(shù)組中的使用方法
下面小編就為大家?guī)?lái)一篇Java中增強(qiáng)for循環(huán)在一維數(shù)組和二維數(shù)組中的使用方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10基于mybatis batch實(shí)現(xiàn)批量提交大量數(shù)據(jù)
這篇文章主要介紹了基于mybatis batch實(shí)現(xiàn)批量提交大量數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05SWT(JFace) Wizard(Eclipse插件編程必備)
SWT(JFace)小制作:Wizard(Eclipse插件編程必備)2009-06-06java抓取網(wǎng)頁(yè)數(shù)據(jù)示例
要通java獲取整個(gè)網(wǎng)頁(yè)的html內(nèi)容,或者某個(gè)網(wǎng)絡(luò)文件的內(nèi)容,可以使用java提供的HttpURLConnection類(lèi)來(lái)實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)內(nèi)容的抓取2014-03-03Java使用Callable接口實(shí)現(xiàn)多線程的實(shí)例代碼
這篇文章主要介紹了Java使用Callable接口實(shí)現(xiàn)多線程的實(shí)例代碼,實(shí)現(xiàn)Callable和實(shí)現(xiàn)Runnable類(lèi)似,但是功能更強(qiáng)大,具體表現(xiàn)在可以在任務(wù)結(jié)束后提供一個(gè)返回值,Runnable不行,call方法可以拋出異,Runnable的run方法不行,需要的朋友可以參考下2023-08-08