码迷,mamicode.com
首页 > 编程语言 > 详细

eclipse导入spring-framework ,阅读源码

时间:2019-06-17 00:31:36      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:snap   util   项目   utils   官网   test   显示   aspectj   说明文   

主要内容

导入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 源码了,以上本人亲测,环境不同报错可能也会有差异,不是绝对,可以参考。

eclipse导入spring-framework ,阅读源码

标签:snap   util   项目   utils   官网   test   显示   aspectj   说明文   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!