中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

shade解決mybatis包(bao)沖(chong)突~項目引用的方法(fa)

之前寫過shade解決mybatis包沖突的文章,主要講了如何為一個第三方包去打一個shade包,然后它可以解決相同包的不同版本之間的沖突問題;而今天主要說一下在項目里如何引用這個包。
1 如果只(zhi)是使用(yong)(yong)包(bao)里的資源,而不使用(yong)(yong)這(zhe)個包(bao)的依(yi)賴包(bao),需要這(zhe)樣引用(yong)(yong)即可

     <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 如果在引用包里,還(huan)需要(yao)使用它的依賴包,需要(yao)把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項目和你的當前項目在一起的話,可能能有問題
截圖
你可以把shade項目打完jar包之后,移除module,然后再試一下,就可以看到你的jar包里的對象被shade了
栽圖
4 pom配置文件里的(de)scope是作用域的(de)意思,下面介(jie)紹(shao)一下幾種(zhong)scope

  • compile:默認值 他表示被依賴項目需要參與當前項目的編譯,還有后續的測試,運行周期也參與其中,是一個比較強的依賴。打包的時候通常需要包含進去
  • test:依賴項目僅僅參與測試相關的工作,包括測試代碼的編譯和執行,不會被打包,例如:junit
  • runtime:表示被依賴項目無需參與項目的編譯,不過后期的測試和運行周期需要其參與。與compile相比,跳過了編譯而已。例如JDBC驅動,適用運行和測試階段
  • provided:打包的時候可以不用包進去,別的設施會提供。事實上該依賴理論上可以參與編譯,測試,運行等周期。相當于compile,但是打包階段做了exclude操作
  • system:從參與度來說,和provided相同,不過被依賴項不會從maven倉庫下載,而是從本地文件系統拿。需要添加systemPath的屬性來定義路徑
posted @ 2020-08-03 10:37  張占嶺  閱讀(482)  評論(0)    收藏  舉報