eclipse导入spring-framework ,阅读源码

主要内容

导入spring源码过程,遇到的问题及解决方法

    $电脑环境
    #Eclipse Version: 2019-03 (4.11.0)
    #OS: Windows 10, v.10.0, x86_64 / win32
    #Java version: 1.8.0_191

源码是版本spring-framework5.1.8
源码根目录里面有一个将项目代码导入eclipse的说明文件import-into-eclipse.md,可以参考这个文件去导入,能完成大部分导入工作。
另外Eclipse需要安装 Gradle 和 Aspectj , buildship 插件

步骤

下面介绍步骤和遇到的一下问题如何解决:

一 下载spring-framework源码

  1. 直接从GitHub仓库下载 https://github.com/spring-projects/spring-framework
  2. 访问 spring官网 找到资源,zip下载或者git下载
    下载源码后,记录文件位置,如果是zip文件首先解压

二 构建eclipse环境,使用eclipse导入源码

获取源代码后,还不能直接导入eclipse,需要将代码构建成eclipse可读形式

  1. 在源码目录下面打开cmd 执行 gradlew :spring-oxm:compileTestJava 命令 (用powershell没有用,这个应该是权限问题,懒得纠结,用cmd就好)
  2. 等待几分钟后,cmd窗口显示完成 使用eclipse 将整个文件导入 File -> Import -> Existing Gradle Project -> 找到源码目录 点击finish 开始导入

解决项目报错问题

   中间遇到报错问题,直接找到报错位置,通常是依赖问题,某个模块jar包依赖不存在,找不到class文件
  
此处这种报错有两种方法解决eclipse项目报错问题

  1. jre 依赖报错,一些java jre 的基础java 文件找不到(String,com.sun**,Thread),eclipse 已经有了jdk1.8 按理说应该依赖没问题,这里解决办法:
    报错的项目右键properties 找到build path -> remoce jre 先删除JRE system Library -> apply and close 关闭 ;然后再打开 Java Build Path -> add library 找到jdk目录,选择自己的jdk1.8 -> apply and close 之后clean project 刷新一下能解决报错
  2. CoroutinesUtils 报错,找不到该类。 解决办法:
    直接找到spring-framework-master\spring-core-coroutines\build\libs 下面的spring-core-coroutines-5.2.0.BUILD-SNAPSHOT.jar包,将这个jar包导入依赖
    报错项目右键 properties -> java build path -> add jars -> 找到spring-core-coroutines-5.2.0.BUILD-SNAPSHOT.jar 位置,选择确定, project clean 一下,这个CoroutinesUtils not found 的问题就解决了

然后就可以好好看spring 源码了,以上本人亲测,环境不同报错可能也会有差异,不是绝对,可以参考。

原文地址:https://www.cnblogs.com/Narule/p/11037436.html

时间: 2024-07-30 21:14:34

eclipse导入spring-framework ,阅读源码的相关文章

spring framework 4 源码阅读 --- 前期准备

在开始看代码之前,需要做的第一件事是下载代码. 在这里:https://github.com/spring-projects/spring-framework 下载完成了发现使用gradle做的源代码的构建管理工具的. 值得庆幸的事情,spring为导入eclipse写了脚本工具,包解压后结构如下: 发现了一个脚本文件:import-into-eclipse.bat,今天负责导入的就是他了, 等待漫长的编译,这里有个问题,在没有安装gradle的时候,脚本会自动下载gradle 执行完成后是这样

MyEclipse中导入Spring 4.0源码

到Spring的官网下载开发包,即: ,解压缩后的文件目录如下: 在MyEclipse的编辑窗口,按 Ctrl + Shift + T 打开查看源代码窗口,输入你想查找的类,如下图所示: 当你点击OK按钮的时候,如果没有导入源代码包就会有如下图所示的提示: 点击Attache  Source…按钮,进入到下图所示的界面: 点击External File…按钮,找到F:\Java Kit\spring-framework-4.0.0.RELEASE\libs该目录(根据个人保存路径找),然后填在对

spring framework项目源码github托管地址

方法一:直接下载,github托管地址:http://repo.spring.io/simple/libs-release-local/org/springframework/spring/ 方法二:svn检出 一次性源码全量包下载的方法.spring的项目包会托管到github网站上,所以可以从github网站上得到spring任意版本的全量包(使用svn客户端下载),方法如下:1.安装svn客户端,随便使用自己喜欢的一个就行,通常用的最多的是TortoiseSVN.自己下载安装.2.检出(下

spring framework 4 源码阅读

前面写了几篇spring 的介绍文章,感觉与主题不是很切合.重新整理下思路,从更容易理解的角度来写下文章. spring 的骨架 spring 的骨架,也是spring 的核心包.主要包含三个内容 1.context:spring 的上线文-------导演 2.core:spring的核心包,主要包括spring所以用到的工具-------道具 3.beans:spring的bean实例 -------演员 导演负责安排演出,演员负责按照导演的指示来演出,演出过程中需要使用道具. 我想大家看完

spring framework 4 源码阅读(2)---从ClassPathXmlApplicationContext开始

Application初始化日志 15:23:12.790 [main] DEBUG o.s.core.env.StandardEnvironment - Adding [systemProperties] PropertySource with lowest search precedence 15:23:12.797 [main] DEBUG o.s.core.env.StandardEnvironment - Adding [systemEnvironment] PropertySourc

Spring源码解析——如何阅读源码

最近没什么实质性的工作,正好有点时间,就想学学别人的代码.也看过一点源码,算是有了点阅读的经验,于是下定决心看下spring这种大型的项目的源码,学学它的设计思想. 手码不易,转载请注明:xingoo 这篇博文你可以了解到: 1 Spring jar包以及源码使用 2 简单的spring运行示例 3 利用断点调试程序,如何快速的阅读程序[快捷键等的使用] 这次阅读的源码比较老了,是3.0.5版本的,由于正好手头有这个版本的源码,而且平时基本上也是用的这个版本Spring,因此后文的分析也都是针对

阅读源码的重要性:如厨师选食材,耍厨具——在Eclipse中如何查看Java、Android源码

首先,很多人说,不会看jdk中的源码就不叫学过Java.显然这是肯定的.打个比方:真正的厨师需要从食材的选取.加工,到最后的烹饪.装盘成型,甚至到最后给用户介绍食用方法等一整套流程走下来.而实际上很多厨师只是做了其中的一小部分,所以最多也只能叫得上"炒菜的",而不是一个厨师.而很多顶级餐厅强调选材,就是从源头上找到适合做某道菜的原料,甚至是反过来,得到一个供应链供应某种独特食材而专门为该材料设计某种烹饪技术.这就是从头至尾的资源最大化利用,其体现创新及内功的地方贯穿整个流水线!特别的,

Spring源码解析——如何阅读源码(转)

最近没什么实质性的工作,正好有点时间,就想学学别人的代码.也看过一点源码,算是有了点阅读的经验,于是下定决心看下spring这种大型的项目的源码,学学它的设计思想. 手码不易,转载请注明:xingoo 这篇博文你可以了解到: 1 Spring jar包以及源码使用 2 简单的spring运行示例 3 利用断点调试程序,如何快速的阅读程序[快捷键等的使用] 这次阅读的源码比较老了,是3.0.5版本的,由于正好手头有这个版本的源码,而且平时基本上也是用的这个版本Spring,因此后文的分析也都是针对

如何阅读源码,如何提高阅读源码的效率

就我自己阅读安卓源码的经验,本人研究过 settings,launcher,Sysupdate ,framework /services ,recovery的部分源码,并且成功修改google留下来的bug. 如果就是熟悉代码,不带问题的去看,看的会比较累,但是仍然是有方法可以借鉴的,其实这个方法,也是生活经验得来的,大家都会的. 就是从整体到局部,由总而分. 比如:你想了解recovery的代码,就应该先了解这个Recovery的运作流程,网上有很多人总结了,总概括图,先有个大概的了解: 第二