博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将spring源码导入到eclipse中
阅读量:5944 次
发布时间:2019-06-19

本文共 1635 字,大约阅读时间需要 5 分钟。

前置条件:

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

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

 

步骤:

1. 首先去下载spring的源码 。 因为我的jdk版本是1.8,所以我这里下载的版本是4.3.2。

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

2. spring源码的编译需要gradle的支持,所以需要去gradle官网下载gradle 。如果打不开可以到我的网盘下载:  

下载完成后同样只需要解压到本地目录,但是此时记得去配置环境变量 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. 添加下面站点:

 添加后选中required项进行安装。 不同版本的eclipse安装goorvy的站点列表参照:。安装完成之后重启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变量,需要注意包括用户变量和系统变量。

 

黎明前最黑暗,成功前最绝望!

转载地址:http://mczxx.baihongyu.com/

你可能感兴趣的文章
Mycat源码中的单例模式
查看>>
WPF Dispatcher介绍
查看>>
fiddler展示serverIP方法
查看>>
C语言中的随意跳转
查看>>
WPF中如何将ListViewItem双击事件绑定到Command
查看>>
《聚散两依依》
查看>>
小tips:你不知道的 npm init
查看>>
Mac笔记本中是用Idea开发工具在Java项目中调用python脚本遇到的环境变量问题解决...
查看>>
Jmeter也能IP欺骗!
查看>>
Rust 阴阳谜题,及纯基于代码的分析与化简
查看>>
ASP.NET Core的身份认证框架IdentityServer4(4)- 支持的规范
查看>>
(原創) array可以使用reference方式傳進function嗎? (C/C++)
查看>>
170多个Ionic Framework学习资源(转载)
查看>>
Azure:不能把同一个certificate同时用于Azure Management和RDP
查看>>
Directx11教程(15) D3D11管线(4)
查看>>
Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?
查看>>
ios ble 参考
查看>>
linux中注册系统服务—service命令的原理通俗
查看>>
基于托管C++的增删改查及异步回调小程序
查看>>
Oracle DBMS_STATS 包 和 Analyze 命令的区别
查看>>