eclipse导入spring源码

环境:jdk1.8 + eclipse Oxygen(4.7.0)

1、下载安装git for windows,地址:http://pan.baidu.com/s/1slluIXR

2、下载spring-framework源码(目前版本5.0.0.RC5),在你的目标目录鼠标右键,点击Git Bash Here,然后git clone https://github.com/spring-projects/spring-framework.git


3、下载安装配置gradle构建工具,地址:https://services.gradle.org/distributions/gradle-4.1-bin.zip

4、eclipse安装gradle插件:Help->Eclipse Marketplace...->在Find输入buildship查找,然后点击install。如图


5、eclipse安装groovy插件,地址:https://github.com/groovy/groovy-eclipse/wiki。我的eclipse是Oxygen(4.7)所以选http://dist.springsource.org/snapshot/GRECLIPSE/e4.7/

eclipse界面点击Help->Install New Software...->Add...


6、导入spring源码,eclipse界面:File->Import...->Existing Gradle Project->选择刚才git下载好的spring源码目录->Finish



7、用gradle构建spring。首先调出gradle面板:eclipse界面Window->Show View->Other...->选择gradle->Open


然后在Gradle Tasks界面,展开并点击spring->build->build,静等构建失败(这一步的目的是把cglib、objenesis重新打包,见spring-core中的spring-core.gradle文件)。

8、解决spring-context和spring-web中找不到com.sun.net.httpserver.*的问题。eclipse界面,右键点击spring-context->Build Path->Configure Build Path...



对spring-web做同样操作。

9、解决eclipse不认识Aspects的*.aj文件的问题,给eclipse安装AJDT插件,地址:http://www.eclipse.org/ajdt/downloads/,目前最新的eclipse 4.6版本的,但是亲测4.7页能用:http://download.eclipse.org/tools/ajdt/46/dev/update。安装方法和第5步一毛一样。

10、导入完成


11、再次点击spring->build->build构建,依然失败:Failed to capture snapshot of input files for task 'distZip' property……

解决方法:修改spring/gradle/docs.gradle文件,把schemaZip任务替换成如下:

task schemaZip(type: Zip) {
	group = "Distribution"
	baseName = "spring-framework"
	classifier = "schema"
	description = "Builds -${classifier} archive containing all " +
		"XSDs for deployment at http://springframework.org/schema."
	duplicatesStrategy 'exclude'
	moduleProjects.each { subproject ->
		def Properties schemas = new Properties();

		subproject.sourceSets.main.resources.find {
			it.path.endsWith("META-INF\\spring.schemas")
		}?.withInputStream { schemas.load(it) }

		for (def key : schemas.keySet()) {
			def shortName = key.replaceAll(/http.*schema.(.*).spring-.*/, '$1')
			assert shortName != key
			File xsdFile = subproject.sourceSets.main.resources.find {
				it.path.endsWith(schemas.get(key).replaceAll('\\/','\\\\'))
			}
			assert xsdFile != null
			into (shortName) {
				from xsdFile.path
			}
		}
	}
}
再次构建,完成!



补充:如果重新编译项目spring-aspects项目报错:“pointcut cannot be resolved to a type”、“declare cannot be resolved to a type”等,打开.project,调换

<buildCommand>
    <name>org.eclipse.ajdt.core.ajbuilder</name>
    <arguments>
    </arguments>
</buildCommand>

<buildCommand>
    <name>org.eclipse.jdt.core.javabuilder</name>
    <arguments>
    </arguments>
</buildCommand>
这两个buildCommand的位置,把org.eclipse.ajdt.core.ajbuilder放后面,如图


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值