1. 程式人生 > >問題.spring源碼轉換為eclipse遇到的問題

問題.spring源碼轉換為eclipse遇到的問題

pat 構造函數 ges success 一個 對象 導入project 意思 pen

1.下載spring源碼

2.下載安裝gradle,配置環境變量(需要有java環境)

3.在spring子項目下執行命令:gradle cleanidea eclipse,會生成對應的.project及.classpath文件

4.eclipse導入project

第一步和第二步就沒必要說了,在執行第三步的遇到一個如下問題:

技術分享

錯誤報告意思應該是:調用ProjectDependency的構造函數時傳的參數與定義的不匹配。好在報告上說出了在哪裏調用的:ide.gradle line:24, 在spring目錄下找到這個地方:

技術分享

顯然在創建對象時傳入的參數與構造函數的定義不匹配,看上面知道這個類是由gradle來定義的,所以再去確認下下gradle是怎麽定義這個類的。

需要下載gradle全量包,在src目錄下可以找到對應源碼,所以找到這個類的定義:

技術分享

可以看到,構造函數中只要傳個path就可以了,看這個註釋的意思應該就是傳參時的那個path。

這個時候抱著試一試的心態將,參數project(":${projectName}").path去除後,重新執行命令,很幸運,問題沒有了。。。build successful。

這地方懷疑可能是gradle更新了這個函數定義,但spring卻沒有更新這個腳本。可能它們用的gradle的版本與我的不一樣。我本地下的是gradle-4.0

技術分享

這個問題,其實就是腳本傳參不對,根據提示找到對應類的定義知道應該傳什麽參數。其實細心一點會發現git上下的源碼人家是用的gradle-3.5來構建的。

問題.spring源碼轉換為eclipse遇到的問題