問題.spring源碼轉換為eclipse遇到的問題
阿新 • • 發佈:2017-07-10
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遇到的問題