maven-source-plugin
true
配置中指定了phase为compile,意思是在生命周期compile的时候就将源文件打包,即只要执行的mvn命令包括compile这一阶段,就会将源代码打包。同样,phase还可以指定为package、install等等。
1.下载spring源码
git下载地址:https://github.com/springsource/spring-framework/
2.下载完成后,编译前需满足的先决条件
1)当前系统中安装了gradle,如果为安装,可以从:http://www.gradle.org/downloads,选择一个版本进行下载
2)当前系统安装了openjdk 8 early access build 100 or later,点击链接可以下载。安装后还需要确认java_home环境变量中指向了刚安装的jdk8
3)鉴于上次编译hibernate的经验,建议修改区域语言为“英语(英国)”,防止在编译过程中出现字符编码错误。
3.运行编译命令,将代码编译为eclipse项目
1)命令行下切换当当前spring代码的根目录
cd c:\users\administrator\documents\github\spring-framework
2)运行import-into-eclipse.bat,这次不是直接运行gradlew.bat,但打开import-into-eclipse.bat可以看到,其实其内部还是调用了gradlew,如:
72行 set command=gradlew :eclipse
90行 call %command%
3)编译时会提示你安装spring sts,下载地址
http://springsource.org/downloads/sts
选择相应的版本下载,我选择下载的是基于eclipse kepler 4.3的32位zip版
下载地址为:
http://download.springsource.com/release/sts/3.3.0/dist/e4.3/spring-tool-suite-3.3.0.release-e4.3-win32.zip
直接回车确认即可
4)接着会提示要运行的命令是:
./gradlew cleaneclipse :spring-oxm:compiletestjava eclipse -x :eclipse
直接回车确认
5)接下来会自动下载所需的依赖包,等待其下载、编译完成即可。
编译的过程中,第一次编译停留在“> building > :spring-core:cglibrepackjar”这个提示处很久,查看cmd的进程,貌似死了,我将其结束后重新运行,依旧停留在这个地方。
注:在编译过程中,经常出现在下载依赖项时没有响应的情况,需要找到对应的java进程,结束后重新运行,或者直接关闭命令行窗口重新来一次,暂未找到具体原因。
猜测应该和我的网络状况和java环境有关,编译过程中尝试了jdk8的32位和64位版本,都有这个问题。
在编译多次不成功以后,我通过运行gradlew.bat install,尝试先把所有的依赖项都先下载下来,在下载子项目相关的依赖项的过程中,仍然会出现命令没有响应的情况,只能一次又一次地关闭,重新运行。
一次又一次编译假死后,终于看到了“build success”,再次运行import-into-eclipse.bat,这次运行,跳过了很多之前需要下载的依赖项,应该是运行install命令的时候已经下载过了,但还是有一些仍然需要下载的依赖项。观察输出,会发现首先会下载依赖项所对应的pom文件,接着才会下载对应的jar。应该是和maven相关的,有时间要把maven、ant、ivy、gradle这些都看一下。
1、The source plugin can be used to create a jar file of the project sources from the command line or by binding the goal to the project's build lifecycle. To generate the jar from the command line, use the following command:
运行后会在target目录中找到生成的源文件jar包。
2、在pom.xml中添加:<><><><><>