热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

将spring源码导入到eclipse中

前置条件:1.正确安装jdk,并配置好JAVA_HOME、PATH。(我这里安装的是jdk1.8)2.正确安装好eclipse。(我的eclipse版本是:NeonR

前置条件:

1. 正确安装jdk,并配置好JAVA_HOME、PATH。(我这里安装的是jdk1.8)

2. 正确安装好eclipse。(我的eclipse版本是: Neon Release (4.6.0))

 

步骤:

1. 首先去下载spring的源码 https://github.com/spring-projects/spring-framework/releases。 因为我的jdk版本是1.8,所以我这里下载的版本是4.3.2。

下载完成之后解压到本地目录。

2. spring源码的编译需要gradle的支持,所以需要去gradle官网下载gradle https://gradle.org/gradle-download/。如果打不开可以到我的网盘下载: http://pan.baidu.com/s/1kVGu8yr 

下载完成后同样只需要解压到本地目录,但是此时记得去配置环境变量 GRADLE_HOME和PATH。配置正确的话,在cmd输入: gradle -v 能够正确显示gradle版本。

3. 进入spring源码根目录,打开命令窗口,输入 import-into-eclipse.bat 运行脚本,这时候就开始编译spring源码并且生成可以导入eclipse的.classpath、.project文件了。在运行的开始可能出现下载类似:https://services.gradle.org/distributions/gradle-1.12-bin.zip 连接超时,这个是网络问题。可以多试几次,也可以在命令行请求这个文件的时候去浏览器直接输入这个路径。

编译的时间非常长。在编译的过程中很有可能会出现错误,这时候需要根据具体的错误信息自行百度解决。这里说一个需要注意的地方就是:源码跟路径下的build.gradle文件中一般有下面的话:

compileJava {
sourceCompatibility = 1.6
targetCompatibility = 1.6
}

compileTestJava {
sourceCompatibility = 1.8
targetCompatibility = 1.8
options.compilerArgs += "-parameters"
}

这个就是指定源码编译使用的是jdk1.6,而测试代码编译使用的是jdk1.8。也就是此时应该要安装jdk1.8.

4. 一路回车编译完成就可以在eclipse中导入了,导入的时候记得勾选eclipse中的列出下层的所有工程选项,否则导入的就是一个大的spring工程而不是各个工程分开。

 5. 导入完成之后发现spring-beans-groovy工程中有错误,这是由于eclipse中没有安装groovy插件导致的。直接: help--->install new software. 添加下面站点:

http://dist.springsource.org/snapshot/GRECLIPSE/e4.6/ 添加后选中required项进行安装。 不同版本的eclipse安装goorvy的站点列表参照:https://github.com/groovy/groovy-eclipse/wiki。安装完成之后重启eclipse即可,clean一下报错的工程即可。如果还报错,修改下groovy编译的级别为2.3:

 

第二次安装碰到的两个问题:

1. Unrecognized VM option \'MaxMetaspaceSize=1024m\' 

原因: 该jvm参数在早期jdk1.8不支持 

修改方式:  删掉源码根路径 build.gradle 和 gradlew.bat中的该配置项。

2. 编译Spring core 的时候报 java.lang.reflect.Parameter找不到,且javac -version显示还是老版本

原因:本地前面安装了jdk1.6, 通过修改JAVA_HOME将路径指向jdk1.8,java -version显示1.8. javac -version显示的还是1.6,实际编译的时候运行的是jdk1.6,自然找不到对应的类。

修改方式: 1. 确保path中 %JAVA_HOME%\bin的配置在system32的配置前(索性将其移到第一位)  2. 确保只配置了一个path变量,需要注意包括用户变量和系统变量。

 


推荐阅读
author-avatar
一号香久山日氵冥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有