91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shade如何解決mybatis包沖突問題

發布時間:2020-08-03 13:39:03 來源:億速云 閱讀:224 作者:小豬 欄目:開發技術

這篇文章主要為大家展示了shade如何解決mybatis包沖突問題,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

目前有一個項目,A是第三方應用,代碼不公開,不能修改,使用的是mybatis plugs3.3.1,而當前項目是我們自己的B,它需要用到A里的方法,B里mybatis plugs版本是2.3,目前在使用過程中出現了問題,這兩個版本的有些方法,注解都發生了很大的變化 :

mybatis 3.x BaseMapper注解的位置:import com.baomidou.mybatisplus.core.mapper.BaseMapper;
mybatis 2.x BaseMapper注解的位置:import com.baomidou.mybatisplus.mapper.BaseMapper;
這兩個版本對于很多注解,接口,方法,類都是不同的,兩個版本無法兼容,當我們項目引用A項目之后,就出現A版本里使用mybatis的一些錯誤,就是方法,類未找到的錯誤。

shade插件進行解決

我們需要引用a-shade這個項目,它來依賴a,然后在它里使用shade插件對a里的mybatis進行重命名,再由b直接引用a-shade,這時 a里的方法也就有了,并且引用了mybatis的地方都換成了shade開頭的包了

graph TDa(mybatis2.3)-->b(我們的項目)c(mybatis3.3.1)-->d(第三方項目)d-->f(對第三方項目進行shade)

實現圖

graph TDA(第三方項目)-->B(A-shade繼承A并且重寫mybatis)B-->C(我們自己的項目)

a-shade.jar反編譯之后

shade如何解決mybatis包沖突問題

a-shade項目的shade代碼

 <artifactId>a-service-shade</artifactId>
  <dependencies>
    <dependency>
      <groupId>com.lind</groupId>
      <artifactId>a-service</artifactId>
      <version>1.0.0</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.2.1</version>

        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <!-- 不生成dependency-reduced-pom.xml-->
              <createDependencyReducedPom>false</createDependencyReducedPom>
              <relocations>
                <relocation>
                  <pattern>com.baomidou</pattern>
                  <shadedPattern>shade.com.baomidou</shadedPattern>
                </relocation>
              </relocations>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

引用a-shade

打包發布后,B項目直接使用a-shade這個包即可,其它代碼不需要修改

 <dependency>
  <groupId>com.lind</groupId>
   <artifactId>a-shade</artifactId>
   <version>1.0.1</version>
 </dependency>

以上就是關于shade如何解決mybatis包沖突問題的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

原阳县| 双城市| 麻阳| 宜兴市| 荔波县| 常德市| 新泰市| 嵊泗县| 石景山区| 迁西县| 祁阳县| 义乌市| 新河县| 钦州市| 娄烦县| 南康市| 萨嘎县| 翼城县| 陆良县| 富蕴县| 金坛市| 湖北省| 新兴县| 遂平县| 临邑县| 临颍县| 洛阳市| 胶南市| 舒兰市| 区。| 青神县| 永顺县| 常宁市| 金坛市| 吴堡县| 天门市| 深水埗区| 丰都县| 保定市| 永修县| 梓潼县|