天天看點

将spring源碼導入到eclipse中

前置條件:

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:

将spring源碼導入到eclipse中

第二次安裝碰到的兩個問題:

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變量,需要注意包括使用者變量和系統變量。

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

繼續閱讀