由老版mybatis-plus本地构建说开去
2024-11-22 08:0:0 Author: mp.weixin.qq.com(查看原文) 阅读量:0 收藏

本文详细讲述了如何在本地成功构建mybatis-plus-v2.3.2(2018年9月发布的版本),过程中遇到的各种问题及解决办法,大家可以将本文理解为一篇经验帖,可以举一反三,遇到类似的场景也可以参考这个思路去解决:

类似的场景:

需要研究一些比较老的开源项目,在进行本地构建时遇到的各种问题:

  • 构建工具新旧版不兼容
  • 旧的项目使用一些旧的插件/组件/三方库等(有的都已经废弃了,可能找不到)
  • ...

问题1:gradle新旧版本特性不兼容

本地clone mybatis-plus后切换到v2.3.2 tag,直接gradle build会报错,显示不支持uploadArchives特性

解决1:找到对应的旧版gradle并配置

  1. 通过google定位到是gradle新旧版不兼容问题,那么下载哪个旧版本呢,通过观察mybatis-plus-v2.3.2的发布时间,决定要用哪个旧版本的gradle

可以看到是2018.9.17发布的,所以当时使用的gradle版本一定是这个日期之前的。

ok,现在去找对应的gradle版本:https://gradle.org/releases/

可以看到v4.10.1是2018.9.12发布的,v4.10是2018.8.27发布的,保险起见,我们使用gradle v4.10,就可以解决新旧版特性不兼容问题

  1. 下载gradle4.10(新版gradle不支持uploadArchives特性)
  2. idea配置gradle-4.10

通过以上操作,可以解决uploadArchives特性不支持问题

问题2:旧组件propdeps-plugin无法找到

直接访问这个地址 https://repo.spring.io/plugins-release/org/springframework/build/gradle/propdeps-plugin/0.0.7/propdeps-plugin-0.0.7.pom,可以看到需要身份验证

解决2:切换build.gradle仓库配置

  1. 直接google搜索,可以找到一个spring仓库的issue(https://github.com/spring-projects/spring-batch/issues/4428):

点击 comment

可以看到,propdeps-plugin这个插件已经废弃了,现在发布了新版(spring-attic/propdeps-plugin)作为替换,但是其依旧保留了一些旧版的snapshots(快照),我们点击链接,可以跳转到JFrog,然后直接搜索propdeps-plugin

第一个是我们要找的:

img

可以看到其维护了挺多旧版本的,mybatis-plus v2.3.2用的是0.0.7,我们随便点一个0.0.7的快照版本,找到其pom的url:

img

把url copy出来,url如下:

https://repo.spring.io/artifactory/plugins-snapshot-local/org/springframework/build/gradle/propdeps-plugin/0.0.7-SNAPSHOT/propdeps-plugin-0.0.7-20140430.192703-1.pom

根据url可以看到,这个快照版本需要从https://repo.spring.io/artifactory/plugins-snapshot-local这个仓库中获取,现在我们去项目的build.gradle中修改:

buildscript {
    repositories {
        maven { url "https://repo.spring.io/plugins-release" }
    }
    dependencies {
        classpath("org.springframework.build.gradle:propdeps-plugin:0.0.7")
    }
}

改为(maven仓库及dependencies都要改):

buildscript {
    repositories {
        maven { url "https://repo.spring.io/artifactory/plugins-snapshot-local" }
    }
    dependencies {
        classpath("org.springframework.build.gradle:propdeps-plugin:0.0.7-SNAPSHOT")
    }
}

改完后,再次build,即可build成功


文章来源: https://mp.weixin.qq.com/s?__biz=MzkxNzY3MjE1NA==&mid=2247484563&idx=1&sn=ba4dfe8fa51550a7ce67f9de9880de06&chksm=c1bc5d26f6cbd430e541acaf16df3af32b4e5c7fe47272d316a3963f1bb1eed84d045c3f3d26&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh