標籤:path變數 源碼編譯 應該 網站 輸入 一個 rgs 2.3 源碼
前置條件:
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中