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

· 2024-11-22 08:00 · 3 阅读

原创 SASTing 2024-11-22 08:00 上海

开源老项目构建之路

由老版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

可以看到是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无法找到

解决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如下:

根据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成功

阅读原文

跳转微信打开