由老版mybatis-plus本地构建说开去

admin 2024年11月22日16:49:51评论6 views字数 1999阅读6分39秒阅读模式

由老版mybatis-plus本地构建说开去

本文详细讲述了如何在本地成功构建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
由老版mybatis-plus本地构建说开去

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

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

由老版mybatis-plus本地构建说开去

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

  1. 下载gradle4.10(新版gradle不支持uploadArchives特性)
  2. idea配置gradle-4.10
由老版mybatis-plus本地构建说开去

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

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

由老版mybatis-plus本地构建说开去

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

由老版mybatis-plus本地构建说开去

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

  1. 直接google搜索,可以找到一个spring仓库的issue(https://github.com/spring-projects/spring-batch/issues/4428):
由老版mybatis-plus本地构建说开去

点击 comment

由老版mybatis-plus本地构建说开去

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

由老版mybatis-plus本地构建说开去

第一个是我们要找的:

由老版mybatis-plus本地构建说开去
img

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

由老版mybatis-plus本地构建说开去
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成功

由老版mybatis-plus本地构建说开去

原文始发于微信公众号(CodeAnalyzer Ultra):由老版mybatis-plus本地构建说开去

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月22日16:49:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   由老版mybatis-plus本地构建说开去https://cn-sec.com/archives/3423580.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息