1. 程式人生 > >將spring源碼導入到eclipse中

將spring源碼導入到eclipse中

所有 eas build clas ges neon 不同 路徑 系統變量

前置條件:

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:

技術分享

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

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

將spring源碼導入到eclipse中