idea导入spring源码遇到的坑

时间:2024-04-09 07:55:39

因为spring使用gradle构建,所以需要先搭建gradle环境,与jdk安装类似,此处忽略

提供下gradle下载地址 https://services.gradle.org/distributions/  前前后后换了有5个版本,这个有兴趣的朋友可以自定Google下idea和gradle的版本对应,目前使用如下

idea导入spring源码遇到的坑

 

spring源码我拽的是spring-framework-5.0.2.RELEASE

地址提供一下,自己选tag下载即可https://github.com/spring-projects/spring-framework

那解压完源码的zip包,观察下导入说明

idea导入spring源码遇到的坑

百度翻译一波如下:

1由于重新打包的依赖关系,应该预先编译spring core和spring oxm

可以贴命令了,一条一条贴 就行了,一次不行多试几次试试(请在存放源码处 cmd,如下图地址栏cmd回车)

idea导入spring源码遇到的坑
gradlew :spring-core:compileTestJava
gradlew :spring-oxm:compileTestJava

2由于对IntelliJ IDEA未知的方面类型的引用,spring方面无法编译。详见http://youtrack.jetbrains.com/issue/IDEA-64446。
同时,可以从项目中排除“spring-aspects”,以避免编译错误。
3虽然JUnit测试是从命令行通过Gradle的,但是当从IntelliJ IDEA运行时,有些测试可能会失败。解决这个问题正在进行中。
如果试图从IntelliJ IDEA中运行所有JUnit测试,则可能需要设置以下VM选项以避免内存不足错误:
-XX:MaxPermSize=2048m-Xmx2048m-XX:MaxHeapSize=2048m
4如果在IDE中调用“Rebuild Project”,则必须再次生成spring oxm
模块的一些测试资源(./gradlew:springoxm:compileTestJava)

遇到的错误

Cause: com.intellij.util.containers.HashMap cannot be cast to com.intellij.util.containers.MultiMap Possible causes for this unexpected error include:
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.) Re-download dependencies and sync project (requires network)
The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem. Stop Gradle build processes (requires restart)
Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.
In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes

这个是我的jreble插件造成的,进入idea安装路径C:\Users\dongwn\.IntelliJIdea2016.3\config\plugins然后删掉

jre-ide-idea文件夹重启idea旧可以了,鼓捣半天多了太坑了记录下