由老版mybatis-plus本地构建说开去
本文详细讲述了如何在本地成功构建mybatis-plus-v2.3.2
(2018年9月发布的版本),过程中遇到的各种问题及解决办法,大家可以将本文理解为一篇经验帖,可以举一反三,遇到类似的场景也可以参考这个思路去解决:
类似的场景:
需要研究一些比较老的开源项目,在进行本地构建时遇到的各种问题:
构建工具新旧版不兼容 旧的项目使用一些旧的插件/组件/三方库等(有的都已经废弃了,可能找不到) ...
问题1:gradle新旧版本特性不兼容
本地clone mybatis-plus后切换到v2.3.2 tag,直接gradle build会报错,显示不支持uploadArchives
特性
解决1:找到对应的旧版gradle并配置
-
通过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,就可以解决新旧版特性不兼容问题
-
下载gradle4.10(新版gradle不支持 uploadArchives
特性) -
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仓库配置
-
直接google搜索,可以找到一个spring仓库的issue( 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成功
原文始发于微信公众号(CodeAnalyzer Ultra):由老版mybatis-plus本地构建说开去
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论