標籤:多項目 注意 分享 hub www. baidu 核心 二進位檔案 dex
轉自:https://www.cnblogs.com/scevecn/p/6043284.html
- 本例spring源碼版本是4.3.0的,
- 所以jdk需要準備1.8的(不同版本源碼要求的jdk不一樣)
- 1.8版本myeclipse10無編譯環境,只有運行環境,出現點問題,下載最新版本的Eclipse Jee Neon
- github
Spring 的源碼已經從 svn 遷移到 GitHub。而且也改為基於 Gradle 的構建來構建項目。它取代了之前的 Ant+Ivy 系統,所以要構建 Spring 源碼環境首先要安裝 GitHub 以及 Gradle。
- 下載
Windows 系統對應的 GitHub 版本為: https://desktop.github.com/ 。:
- 安裝
- 點擊安裝包
- 開始安裝
- 下載安裝檔案
- 安裝完成之後自動開啟登陸介面(不需要,用不著)
-
- 登陸github(不需要,用不著)
- 結果
下載、安裝,開始菜單上 GitHub 菜單,
- 不依賴其他模組:本附件配置將以第三方外掛程式包的形式提供使用,它應該作為依賴關係的底層被依賴,而不能依賴其他業務模組。(DNA核心除外)
- 擴充靈活:提供統一架構,滿足各個項目的個人化附件配置需求。
- Gradle
Gradle 是一個基於 Groovy 的構建工具,它使用 Groovy 來編寫構建指令碼,支援依賴管理和多項目建立,類似 Maven,但比其更加簡單輕便。
Gradle 為 Ivy 提供了一個 layer,提供了 build-by-convention 整合,而且他還讓你獲得許多類似 Maven 的功能。
- 下載
Gradle 的是:http://www.gradle.org/downloads 作為初學者建議選擇包含文檔和範例源碼的壓縮檔較好,將下載檔案解壓。如果你下載的是gradle-xx-all.zip的完整包,它會有以下內容:二進位檔案使用者手冊(包括PDF和HTML兩種版本),DSL參考指南,API手冊(包括Javadoc和Groovydoc),範例原始碼,僅供參考使用。
- 配置環境變數
在windows中的Gradle配置:在環境變數對話方塊中,定義環境變數GRADLE_HOME到你的gradle根目錄當中,然後修改環境變數 Path,即追加%GRADLE_HOME%\BIN;(linux或mac的是$GRADLE_HOME/bin)。
- 檢查
配置完成之後,當完成系統變數的配置後開啟命令視窗輸入命令 " gradle -version ",如果出現Gradle對應的版本資訊,表示安裝成功。
- Spring源碼下載
- 直接網站下(這個可以,選擇需要的版本源碼,三選一)
:https://github.com/SpringSource/spring-framework/tags/
選擇需要的版本下載zip即可。
- svn (地址都有了用啥下都一樣了,三選一)
:https://github.com/SpringSource/spring-framework/tags/
Window-->Open Perspective -->SVN資產庫研究把源碼用svn checkout到本地磁碟
- 使用github下載Spring(不推薦使用這種方式,只能是最新的源碼,請跳過)
單擊捷徑功能表中的 Git Shell 選項,開啟 GitHub 後,可以通過 cd 命令將當前操作目錄轉換到我們想要儲存源碼的目錄。
例如:e:\test ,執行命令 cd e:\test
輸入以下命令:
git clone git://github.com/SpringSource/Spring-framework.git
其中,git://github.com/SpringSource/Spring-framework.git 為Spring的源碼地址。執行命令後便進入源碼下載狀態。
經過一段時間的等待後源碼下載結束,視窗狀態如
而這時,對應的檔案夾下已經存在相應的源碼資訊,如所示。
- Spring源碼構建
使用gradle構建項目
當前的源碼並不可以直接匯入 Eclipse 中,我們還需要將源碼轉換為 Eclipse 可以讀取的形式。
- 單個工程構建(二選一,不推薦)
可以只對感興趣的工程進行 Eclipse 工程轉換,比如我們想要查看 Spring 事務部分的源碼,開啟命令視窗,將目前的目錄切換至源碼所在目錄,這裡是 Spring-tx檔案夾下,執行命令 gradle cleanidea eclipse 。當視窗出現如下狀態說明已經開始執行轉換過程,如:
經過一段時間後轉換成功,如所示、
這時,我們再查看對應的檔案夾會發現,已經出現了作為 Eclipse 工程所必須的 .project 和 .classpath 檔案了,如所示
沒有編譯過的
編譯之後的
開啟 Eclipse,將工程匯入,匯入後目錄結構如
你會發現工程名稱前面有一個驚嘆號,這說明項目存在錯誤。查看依賴及工程,會看到當前工程所依賴的包出現問題。如
但是,查看依賴的 Projects 時發現
依賴的項目出現問題,只需要把需要的幾個項目編譯之後匯入就可以了。
依賴的包出現問題,後邊解決。
- 批量構建(二選一,推薦雖然時間長,但是減少匯入後整理jar包的工作)
可以將所有工程一次性的編譯、匯入。但是不推薦這樣的方式,這樣會耗費大量的時間,而且當存在編譯錯誤的時候,你不得不重新編譯。
- gradlew.bat(預構建)
pring-framework目錄裡面有一個gradlew.bat批次檔,雙擊出現控制台介面,連續按兩次斷行符號鍵,下載各種依賴jar包和dom檔案,公司外網不好,用了幾個小時,沒下下來,這就尷尬了。
- import-into-eclipse.bat (構建)
spring-framework目錄裡面有一個import-into-eclipse.bat批次檔,雙擊出現控制台介面,連續按兩次斷行符號鍵,就可以開始自動構建了,構建過程需要花很長時間(如有沒有提前執行gradlew.bat,這裡就會下載各種依賴jar包和dom檔案)。
中間還經常出現停止不動的情況,按Ctrl+c終止運行,再一次雙擊import-into-eclipse.bat檔案重複上述過程即可(會接著上次構建的位置繼續構建),到構建完成後控制台會自動關閉。
最後刪除spring-framework下的setting檔案夾和project檔案,否則eclipse只能匯入整體,不能匯入每個工程。
- Spring構建後的問題
- 依賴的包出現問題(發現批量構建成功後不會報這個錯誤)
暫時遇到:缺失spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar。
雖然可能從網上下載到這個2個包,但是,由於版本問題,還是不能使用。最好的解決辦法就是從源碼裡邊將需要的包提取出來
- 下載對應版本的dist.zip檔案
下載對應版本的dist.zip檔案來提取需要的jar包(distribution,發布用的版本)訪問地址:http://repo.springsource.org/libs-release-local/org/springframework/spring/ (可能會很慢)
- 提取
解壓spring-framework-4.3.0.RELEASE-dist\spring-framework-4.3.0.RELEASE\libs目錄下的spring-core-4.3.0.RELEASE.jar檔案
在cmd命令視窗下切換到上一步的目錄下,
使用jar命令產生需要的jar檔案 :
spring-cglib-repack-3.2.4.jar
命令:jar cvf spring-cglib-repack-3.2.4.jar org\springframework\cglib
spring-objenesis-repack-2.4.jar
命令:jar cvf spring-objenesis-repack-2.4.jar org\springframework\cglib
- 檢查是否產生
查看目前的目錄E:\spring\code\spring-framework-4.3.0.RELEASE-dist\spring-framework-4.3.0.RELEASE\libs\spring-core-4.3.0.RELEASE下確實產生了需要的jar檔案
驗證一下產生的jar包的目錄結構是否正確(因為第一次操作的時候不注意,導致雖然包打好了,但是目錄結構不對,最終不能使用)
- GroovyBeanDefinitionReader.java會報錯
如果eclipse沒有安裝groovy外掛程式,則spring-beans-groovy包中的GroovyBeanDefinitionReader.java會報錯,因為eclipse不能編譯groovy指令碼。
報錯資訊:
Description Resource Path Location Type
GroovyDynamicElementReader cannot be resolved to a type
GroovyBeanDefinitionReader.java /spring-beans-groovy/src/main/java/org/springframework/beans/factory/groovy line 391 Java Problem
Groovy :http://groovy-lang.org/download.html
- 安裝groovy外掛程式(線上)
step 1:檢查自己的eclipse版本:在help->About Eclipse中查看:
step 2:進入 https://github.com/groovy/groovy-eclipse/wiki尋找和自己eclipse對應版本的groovy:
step 3:拷貝http://dist.springsource.org/snapshot/GRECLIPSE/e4.6/
step 4:開啟eclipse,在eclipse中,選擇help -> Install New Software…:
step 5:選擇add,對話方塊中name隨便寫,地址將上面拷貝的地址粘貼進去:
step 6:等待一小會,會出現如下選項,全選後下一步:
- 重啟
重啟eclipse,然後clean一下項目就搞定了。
- Spring構建後的問題
在Eclipse菜單File->import選擇General下面的Exsiting projects into workspace
- 參考借鑒
Spring環境搭建--Spring源碼深度解析:
http://www.cnblogs.com/chuzh/p/4996976.html
Spring官網下載dist.zip的幾種方法:
http://www.cnblogs.com/yjmyzz/p/3847364.html
spring源碼構建時缺失spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar:
http://www.itdadao.com/articles/c15a711547p0.html
spring源碼gradle獲得eclipse工程時,spring-beans-groovy項目GroovyDynamicElementReader報錯解決
http://blog.csdn.net/smithdoudou88/article/details/46356305
spring源碼下載及轉入ECLIPSE