本文详细讲述了如何在本地成功构建mybatis-plus-v2.3.2
(2018年9月发布的版本),过程中遇到的各种问题及解决办法,大家可以将本文理解为一篇经验帖,可以举一反三,遇到类似的场景也可以参考这个思路去解决:
类似的场景:
需要研究一些比较老的开源项目,在进行本地构建时遇到的各种问题:
构建工具新旧版不兼容 旧的项目使用一些旧的插件/组件/三方库等(有的都已经废弃了,可能找不到) ...
本地clone mybatis-plus后切换到v2.3.2 tag,直接gradle build会报错,显示不支持uploadArchives
特性
可以看到是2018.9.17发布的,所以当时使用的gradle版本一定是这个日期之前的。
ok,现在去找对应的gradle版本:https://gradle.org/releases/
可以看到v4.10.1是2018.9.12发布的,v4.10是2018.8.27发布的,保险起见,我们使用gradle v4.10,就可以解决新旧版特性不兼容问题
uploadArchives
特性)通过以上操作,可以解决uploadArchives
特性不支持问题
直接访问这个地址 https://repo.spring.io/plugins-release/org/springframework/build/gradle/propdeps-plugin/0.0.7/propdeps-plugin-0.0.7.pom
,可以看到需要身份验证
https://github.com/spring-projects/spring-batch/issues/4428
):点击 comment:
可以看到,propdeps-plugin这个插件已经废弃了,现在发布了新版(spring-attic/propdeps-plugin)作为替换,但是其依旧保留了一些旧版的snapshots(快照),我们点击链接,可以跳转到JFrog,然后直接搜索propdeps-plugin:
第一个是我们要找的:
可以看到其维护了挺多旧版本的,mybatis-plus v2.3.2
用的是0.0.7
,我们随便点一个0.0.7
的快照版本,找到其pom的url:
把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成功