spring-framework-5.1.x 编译并导入eclipse过程记录(WIN平台)

spring是什么?不介绍。

如何编译源码导入eclipse?看下面:

首先前往世界上最大的同性交友网站gayHab上去下载spring源码:

下载地址:https://github.com/spring-projects/spring-framework 这里我选择的branch是5.1.x

download源码之后到本地,解压。

第一步:安装JDK(过程:略,要是这个都不会你个憨憨不要读源码 →_→)

第二步:安装gradle

  • method1:可以去gradle官网下载:https://gradle.org/
  • method2:但是国内网速不给力,这里提供一个百度云下载链接:

链接:https://pan.baidu.com/s/1b1JfquQ7_CoJnkWv8qw2oQ
提取码:pmz5

如果链接失效,请留言
下载下来之后解压,配置环境变量:
我跟一般的教程不一样,配置环境变量很暴力,系统变量–>path(如图)
spring-framework-5.1.x 编译并导入eclipse过程记录(WIN平台)_第1张图片
红框中即为配置的gradle环境变量,一定要是bin目录。(毕竟我JDK也是这么配的,暴力吧)

配置完成之后查看是否配置成功。执行命令:gradle --v 出现下图所示,则配置完成:

spring-framework-5.1.x 编译并导入eclipse过程记录(WIN平台)_第2张图片
执行编译命令:

gradlew.bat

这里会遇到两个错误:

1.No such property: immutableValues for class: org.gradle.api.internal.tasks.DefaultTaskDependency

解决方案:
修改:spring-beans.gradle 文件中的
注释掉这两行代码

//def deps = compileGroovy.taskDependencies.immutableValues + compileGroovy.taskDependencies.mutableValues
//compileGroovy.dependsOn = deps - 'compileJava'

2.Could not find method useJUnitPlatform()

解决方案:
注释:spring-test.gradle 文中这行代码

//  useJUnitPlatform {
//    includeEngines 'junit-jupiter'
//    excludeTags 'failing-test-case'
// }

再次执行编译命令:gradlew.bat 即可编译完成

在此目录下执行命令:

gradle eclipse -x :eclipse

出现结果:
spring-framework-5.1.x 编译并导入eclipse过程记录(WIN平台)_第3张图片
出现BUILD SUCCESSFUL的时候,编译完成

然后打开eclipse,import项目(使用eclipse自带的gradle插件导入):
spring-framework-5.1.x 编译并导入eclipse过程记录(WIN平台)_第4张图片
此时就可以将spring编译后的源码导入eclipse中了
spring-framework-5.1.x 编译并导入eclipse过程记录(WIN平台)_第5张图片
搞定!


更新:编译可能遇到的坑:
1.编译结束后导入eclipse可能会有报错:

spring-cglib-repack-xxx.jar
spring-objenesis-repack-xxx.jar
环境丢失

解决方案:
在源码目录执行命令:

gradle objenesisRepackJar
gradle cglibRepackJar

重新导入eclipse即可。

2.报错诸如:

Access restriction: The method ‘Headers.set(String, String)’ is not
API (restriction on required library ‘F:\JRE\lib\rt.jar’)

解决方案:
选择项目:
Build Path >Config Build Path > Libraries :将当前的JRE remove掉,重新导入即可。
或者 :
全局属性Project>preferences>java>Compiler>Errors/Warnings>把右侧的【Deprecated and restricted API>Forbidden reference的Error】置为【Warning】.

3.报错:

报错Groovy:compiler mismatch project levelis :2.4 Workspace level is 2.5

解决方案:
在当前项目上点右键,属性 Properties,Groovy Compiler配置编译版本与项目的编译设置版本一致。
我这里是提示2.4,然后改为2.5就可以了。
spring-context 也提示该问题,解决方案同上。

你可能感兴趣的:(Java,Spring)