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