首先声明我的idea版本为Idea 2017.2 ,spring源码为5.2 ,Gradle版本我下了4.1, 5.4.1, 5.6.4三个版本,见下图:
其次gradle的环境变量已配置,见下图:
然后接下来,开始展示我所遇到的问题:
1,No such property: GradleVersion for class: JetGradlePlugin
此时我选择的是gradle-4.1版本,网上说是此版本太低,降低源码目录下gradle/wrapper/gradle-wrapper.properties中的
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip这一句由5.6.4降为4.x等等,但是操作之后,你会发现,连 ./gradlew :spring-oxm:compileTestJava 都编译不通过,所以此种方法不可行,其实确实是gradle版本太低所致,你看wrapper里面都5.6.4了,我们自然不能低于这个,然后我们换到5.6.4
2,Error:(7, 0) Could not find method gradlePluginPortal() for arguments [] on repository container of type org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler.
切到相应的版本后又会出现这个问题,其实这些问题都有一个统一的解决方案,那就是换idea版本,切换为最新的,此时我的最新版本为2019.2
然后下载下来再执行之前的操作,.gradlew compileTestJava,导入,gradle编译没问题了,我在给你们上个测试用例的截图:
3,Execution failed for task ':spring-tx:compileKotlin'.
> Could not resolve all files for configuration ':spring-tx:optional'.
> Could not find com.ibm.websphere:uow:6.0.2.17.
Required by:
project :spring-tx
这个应该是spring版本与idea版本不一致导致,此时的spring源码为5.1版本,建议更换为最新版本
好了,如果还有问题,欢迎继续留言..
----------------
再补充说一句
此时这个idea导入的Gradle采用的是项目路径/gradle里面的wrapper里的版本,当然你也可以切换为自己下载的版本,下拉第三个,即可以切换成自己下的版本,那这个wrapper里的gradle jar包是哪儿来的呢,就是当初执行./gradlew compileTestJava 时下载的,不信你在cmd中运行这个命令的时候,第一句就会是downlad gradle 5.6.4-all.zip文件的,就是根据里面的gradle-wrapper.properties配置下载的..