spring是什么?不介绍。
如何编译源码导入eclipse?看下面:
首先前往世界上最大的同性交友网站gayHab上去下载spring源码:
下载地址:https://github.com/spring-projects/spring-framework 这里我选择的branch是5.1.x
download源码之后到本地,解压。
第一步:安装JDK(过程:略,要是这个都不会你个憨憨不要读源码 →_→)
第二步:安装gradle
链接:https://pan.baidu.com/s/1b1JfquQ7_CoJnkWv8qw2oQ
提取码:pmz5
如果链接失效,请留言
下载下来之后解压,配置环境变量:
我跟一般的教程不一样,配置环境变量很暴力,系统变量–>path(如图)
红框中即为配置的gradle环境变量,一定要是bin目录。(毕竟我JDK也是这么配的,暴力吧)
配置完成之后查看是否配置成功。执行命令:gradle --v
出现下图所示,则配置完成:
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
出现结果:
出现BUILD SUCCESSFUL的时候,编译完成
然后打开eclipse,import项目(使用eclipse自带的gradle插件导入):
此时就可以将spring编译后的源码导入eclipse中了
搞定!
更新:编译可能遇到的坑:
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 也提示该问题,解决方案同上。