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

本文共 1620 字,大约阅读时间需要 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://uohno.baihongyu.com/

你可能感兴趣的文章
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
查看>>
幸运的背后,总是靠自身的努力在支撑
查看>>
云计算面临安全挑战
查看>>
C# 线程手册 第三章 使用线程 Monitor.TryEnter()
查看>>
分享11个超棒的移动应用(mobile apps)开发解决方案
查看>>
mysql5.5.17源代码安装
查看>>
关于【cocos2dx-3.0beta-制作flappybird】教程在3.2project中出现找不到CCMenuItem.h的解决方法...
查看>>
7z格式、LZMA压缩算法和7-Zip详细介绍
查看>>
imx6 uboot splash image
查看>>
转:全栈工程师的知识栈列表
查看>>
C/C++获取文件大小
查看>>
深入理解Java内存模型(五)——锁
查看>>
Chalubo僵尸网络来袭 IOT设备或将受到DDoS攻击
查看>>
实用功能一手玩转!复合机操控面板一览
查看>>
乌鲁木齐大雾弥漫 局地能见度不足200米
查看>>
骚年,还在为歌荒发愁吗?python教你爬取网易云热门歌单
查看>>
如何实现百万TPS?详解JMQ4的存储设计
查看>>
Play! Framework 系列(一):初探 play 框架
查看>>
Shiro【授权、整合Spirng、Shiro过滤器】
查看>>
MarkDown语法
查看>>