如何导入spring源码到IDEA
目录
- 前期准备
- 1.访问spring官网下载spring framework源码
- 2.安装gradle
- 导入spring源码到IDEA
- 1.打开spring-framework-5.0.5.RELEASE下的import-into-idea.md,看下官方导入IDEA的步骤
- 2.导入IDEA步骤
- 2.1打开IDEA点击import project,不要点open
- 2.2配置项目的gradle
- 2.3项目配置
- 2.4排除spring-aspects模块
- 2.5编译spring-oxm
- 2.6项目build。
- 2.7查看项目是否build好
- 2.8编译其他模块.
- 3.简单调试
- 3.1新建模块
- 3.2测试
前期准备
1.访问spring官网下载spring framework源码
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/6d9bce2203b44aee8d6f3b1d4c6a16f4.jpg)
文章图片
spring源码放在了github,点击如下图中的按钮访问(有可能访问不了github官网,可参考此处)
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/27be394272a749238879c36d6c77a8ea.png)
文章图片
如下图步骤选择要下载的spring源码版本
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/3a619bd24b254b5fabf3b0587bcfa622.jpg)
文章图片
点击code–》Download ZIP下载
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/1888d9b253cc4cde997d1586541c74a7.jpg)
文章图片
解压到某个目录下
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/ec9b5eacff814b30b7eb282986d2e6ce.png)
文章图片
2.安装gradle
到解压的spring源码目录下spring-framework-5.0.5.RELEASE\gradle\wrapper,打开gradle-wrapper.properties文件查看需要安装的gradle版本(此处:gradle-4.4.1-bin.zip)。
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/b78fc41f50b64803b88097f4f6e5c31e.jpg)
文章图片
访问gradle官网https://gradle.org/releases/,下滑找到需要的版本,点击binary-only下载
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/48c6979d700348849ca3f5b9a9d58e0f.jpg)
文章图片
直接解压到你想要的目录下
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/1dffb5ecacf04319aca7f6cb6a8b5388.png)
文章图片
在gradle的init.d目录下新建build.gradle,写入如下代码。目的是编译源码的时候快些
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/b7d1867d97df4a78a5c9cf04f03b7e91.png)
文章图片
allprojects{ repositories {def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'all { ArtifactRepository repo ->if(repo instanceof MavenArtifactRepository){def url = repo.url.toString()if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('http://repo1.maven.org/maven2')) {project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."remove repo}if (url.startsWith('https://jcenter.bintray.com/') || url.startsWith('http://jcenter.bintray.com/')) {project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."remove repo}}}maven {url ALIYUN_REPOSITORY_URLurl ALIYUN_JCENTER_URL} }buildscript{repositories {def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'all { ArtifactRepository repo ->if(repo instanceof MavenArtifactRepository){def url = repo.url.toString()if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('http://repo1.maven.org/maven2')) {project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."remove repo}if (url.startsWith('https://jcenter.bintray.com/') || url.startsWith('http://jcenter.bintray.com/')) {project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."remove repo}}}maven {url ALIYUN_REPOSITORY_URLurl ALIYUN_JCENTER_URL}} }}
设置gradle的环境变量(类似设置jdk的环境变量)。新建GRADLE_HOME系统变量,变量值为自己解压的gradle目录
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/4c1a56f6e10245c1b2738d83868813c1.png)
文章图片
编辑path变量,在后面追加%GRADLE_HOME%\bin
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/ce8f8e1ca3a640ed9b66ec698cb2bdd8.png)
文章图片
cmd输入gradle -v验证是否安装并配置好gradle。如下图所示那样就已经配置好gradle了
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/d7dbaedd63894ccf80a666acf3fab484.png)
文章图片
新建gradle仓库(repository),比如:
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/4f2bffcbec6a4cf0a9c2c4e7983689c5.png)
文章图片
这一步可以不做,改下spring源码目录下spring-framework-5.0.5.RELEASE\gradle\wrappe\gradle-wrapper.properties文件的distributionUrl的值(本地安装的gradle路径),不然编译spring源码的时候会去下载gradle
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/4bca609f74a1426cadfc8822a026ddfc.png)
文章图片
导入spring源码到IDEA
1.打开spring-framework-5.0.5.RELEASE下的import-into-idea.md,看下官方导入IDEA的步骤
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/5e4f1c5f5b774108a674596d0020eaa5.jpg)
文章图片
steps:
1)编译spring-oxm模块,这一步看2.5
2)选择spring-framework-5.0.5.RELEASE下builde.gradle文件导入IDEA
3)排除spring-aspects模块,这一步看2.4
2.导入IDEA步骤
2.1打开IDEA点击import project,不要点open
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/a7e72ca37f4b4cab891ff2b509c0589a.jpg)
文章图片
然后点击spring-framework-5.0.5.RELEASE下builde.gradle文件
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/f51420bd9fae498fac962e351b2205cf.jpg)
文章图片
2.2配置项目的gradle
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/e93883bac6ed493fad8ab7a2b28ff9ce.jpg)
文章图片
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/d836b270e85c431f84c2b6d68cef978c.jpg)
文章图片
2.3项目配置
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/a1b084a0bc6d462eabf94d388d9401ef.png)
文章图片
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/fa6945091d584d4fa656a05b296b4653.jpg)
文章图片
2.4排除spring-aspects模块 spring-aspects模块使用了aspectJ的jar,所以要先排除。不然很可能中途编译spring源码失败,等到spring源码编译好了可以参考spring源码项目使用spring-aspects,配置
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/b8ce5576e08348ea9e1f176df78c5439.jpg)
文章图片
2.5编译spring-oxm 使用gradle :spring-oxm:compileTestJava编译spring-oxm模块,下图是我这边编译成功的图
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/a8667e08a1954fc483464b711f9b553d.jpg)
文章图片
2.6项目build。 项目build要下载spring-framework需要的jar,此过程一般要很长的时间。如果在项目build的过程中失败,可以重新build或者重新打开项目
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/30bb8cb5f99640eeb285ac6a74380dcd.png)
文章图片
2.7查看项目是否build好 项目build好后gradle面板和module面板就是这样的,和刚导入项目时不一样
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/059ee64ef60048a296fcaa7a85eb8a9e.jpg)
文章图片
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/3d42c4e5eda346f5a831a185653375c2.jpg)
文章图片
2.8编译其他模块. 可能还有其它模块没有编译(如:spring-web、spring-orm。。。),可以选择spring–>Tasks–>other–>compileTestJava编译其他模块
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/87d20f8e2df846fe93bc0d0d03a5d6eb.jpg)
文章图片
编译好的模块下面一般会有build目录,build目录下有个classes目录存放编译好的字节码文件
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/fae0d4c9068d4f18b99cd3381b84291e.png)
文章图片
3.简单调试
到这里已经构建好了spring源码项目,可以在spring下新建模块来测试环境是否有问题
3.1新建模块 project structure–》modules–》spring–》add–》new module
【如何导入spring源码到IDEA】
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/e3028f003d6241b0b98266ea537d81ad.png)
文章图片
确保要新建的模块的信息如下图,然后点击next
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/833610dd762d45adb4686ff030c95b42.jpg)
文章图片
填好parent、模块名称点击finish,点击ok
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/9f3054c9b09a47d6807cbabc2694daf1.png)
文章图片
稍等一会就可以看到新建的模块
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/2f00591fee864ef6804a5ca6966360d4.jpg)
文章图片
3.2测试 创建BeanEntity配置类
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/8e8991ec9a9c4c279c34861c4616f3c0.jpg)
文章图片
新建Test测试,从运行结果看完全没有问题
![如何导入spring源码到IDEA](https://img.it610.com/image/info11/374f193642fa432d869e60ed31a2418b.jpg)
文章图片
注意:我用的环境:IDEA2019.3, jdk1.8.0_191,spring-framework-5.0.5.RELEASE,gradle-4.4.1
环境不同可能中途会有些其他问题
到此这篇关于如何导入spring源码到IDEA的文章就介绍到这了,更多相关导入spring源码到IDEA内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- Activiti(一)SpringBoot2集成Activiti6
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树