intellij idea15搭建spring源码阅读环境

简介: intellij idea15搭建spring源码阅读环境标签: 源码学习环境准备(1)下载intellij idea15 官网下载连接:https://www.jetbrains.com/idea/download/ 建议下载Ultimate版本,这样对web开发的支持组件比较多,开发较为方便,有经济能力的建议支持正版,没有的话你懂的。(2)下载

intellij idea15搭建spring源码阅读环境

标签: 源码学习

环境准备

(1)下载intellij idea15
官网下载连接:https://www.jetbrains.com/idea/download/
建议下载Ultimate版本,这样对web开发的支持组件比较多,开发较为方便,有经济能力的建议支持正版,没有的话你懂的。

(2)下载jdk8,配置java环境

(3)clone spring源码
spring源码github地址:https://github.com/spring-projects/spring-framework
下载源码后别着急用idea打开,首先阅读源码中的import-into-idea.md文件,文件内容如下,按着一步步操作即可

Steps

Within your locally cloned spring-framework working directory:
1. Pre-compile spring-oxm with ./gradlew cleanIdea :spring-oxm:compileTestJava
2. Import into IDEA (File->import project->import from external model->Gradle)
3. Set the Project JDK as appropriate (1.8+)
4. Exclude the spring-aspects module (Go to File->Project Structure->Modules)
5. Code away

Known issues

  1. spring-oxm should be pre-compiled since it’s using repackaged dependencies (see *RepackJar tasks)
  2. spring-aspects does not compile out of the box due to references to aspect types unknown to IDEA.
    See http://youtrack.jetbrains.com/issue/IDEA-64446 for details. In the meantime, the ‘spring-aspects’
    should be excluded from the overall project to avoid compilation errors.
  3. While all JUnit tests pass from the command line with Gradle, many will fail when run from IDEA.
    Resolving this is a work in progress. If attempting to run all JUnit tests from within IDEA, you will
    likely need to set the following VM options to avoid out of memory errors:
    -XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m

(4)用idea打开spring源码 随便写了一个test,运行结果如下图所示:运行结果

问题:
(1)源码按照上面导入后,gradle build 也成功了,但是自己写测试代码可能还会报一些包找不到的问题,如图

这是由于idea打开spring源码后依赖没有正确配置,添加依赖即可解决
这里写图片描述
(2)如果依赖都正确配置了,但是程序还是无法运行,那可能是依赖顺序问题,详细可查阅这个博客
http://www.wurenny.com/2015/04/17/186

目录
相关文章
|
16天前
|
Java 开发工具 Maven
IntelliJ IDEA安装教程(超详细)
IntelliJ IDEA安装教程(超详细)
66 1
|
22天前
|
XML IDE 开发工具
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
39 0
|
1月前
|
XML 缓存 Java
Spring源码之 Bean 的循环依赖
循环依赖是 Spring 中经典问题之一,那么到底什么是循环依赖?简单说就是对象之间相互引用, 如下图所示: 代码层面上很好理解,在 bean 创建过程中 class A 和 class B 又经历了怎样的过程呢? 可以看出形成了一个闭环,如果想解决这个问题,那么在属性填充时要保证不二次创建 A对象 的步骤,也就是必须保证从容器中能够直接获取到 B。 一、复现循环依赖问题 Spring 中默认允许循环依赖的存在,但在 Spring Boot 2.6.x 版本开始默认禁用了循环依赖 1. 基于xml复现循环依赖 定义实体 Bean java复制代码public class A {
|
4天前
|
存储 安全 Java
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(下)
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(下)
13 0
|
4天前
|
安全 Java 数据库
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(上)
第2章 Spring Security 的环境设置与基础配置(2024 最新版)
28 0
|
5天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
11天前
|
JSON Kubernetes Go
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
21 0
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
|
11天前
|
安全
IntelliJ IDEA 快捷键大全(三)
IntelliJ IDEA 快捷键大全
74 0
IntelliJ IDEA 快捷键大全(三)
|
22天前
|
Kubernetes Ubuntu Linux
通过 IntelliJ IDEA 对 containerd 进行源码级调试
本文介绍如何在 Ubuntu 22.04 系统上,通过 IntelliJ IDEA 对 containerd 进行源码级调试。我们将从 containerd 的安装、源码编译、验证调试信息的存在,到最终的调试过程中,每一步骤都进行详细讲解。
通过 IntelliJ IDEA 对 containerd 进行源码级调试
|
27天前
使用IntelliJ IDEA查看类图,内容极度舒适
使用IntelliJ IDEA查看类图,内容极度舒适
24 1