Activemq源碼、編譯、導入idea、源碼調試總結
1、在本地下載下傳源碼
在GitHub官網搜activemq,找到排名第一的,并打開,如圖所示,拷貝url位址。
activemq托管位址:https://github.com/apache/activemq.git
切換到git bash下,輸入指令:
mkdir activemqSource
cd activemqSource
git init
git clone https://github.com/apache/activemq.git
執行成功後,會生成activemq目錄
此時下載下傳的是master 分支,可以通過branch指令檢視分支詳情
git branch -a
選擇需要切換的分支,我切換的是activemq-5.15.x,指令如下:
git checkout -b activemq-5.15.x origin/activemq-5.15.x
執行成功後,用git branch -a檢視如下:
到這一步,源碼下載下傳已經完成。
2、編譯源碼
這裡要注意一個問題,因為預設安裝jdk10和jdk9後jdk/lib中沒有tools.jar 和 dt.jar包,這會導緻編譯源碼會報錯。解決方法:重新安裝jdk,将jdk目錄與jre目錄設定為不同即可。
本文使用環境為jdk8
進入下載下傳生成的activemq目錄下,執行指令:
mvn clean install -Dmaven.test.skip=true
編譯成功後,執行指令:
mvn idea:idea(如果是導入eclipse,轉成eclipse即可)
成功後已經轉成idea項目
此時在activemq/assembly/target目錄下會生成
apache-activemq-5.15.7-SNAPSHOT-bin.tar.gz
apache-activemq-5.15.7-SNAPSHOT-bin.zip
其中:
tar.gz 對應linux和ox
zip 對應windows
解壓對應包以備後用,解壓路徑随意。
3、導入idea
選擇 Import Project
目錄選到源碼下載下傳的activemq目錄下,導入。
等待maven下載下傳完依賴後,idea顯示如下:
4、源碼調試
源代碼啟動主函數在activemq-console中,上面提到過在activemq/assembly/target下生成的壓縮包,apache-activemq-5.15.7-SNAPSHOT-bin.tar該壓縮包裡的lib目錄下有activemq-console所需要的jar包。
解壓包中的目錄結構如下:
在idea File – Project Structure – Modules 下選擇 activemq-console為其添加解壓包中lib裡的jar包。把解壓包中除過activemq-all-*.jar 和 lib目錄的其他目錄拷貝到源碼下載下傳的activemq同級目錄下,如下:
(lib中的包全部導入)
如何啟動:
activemq-console目錄結構:
給主函數加啟動參數:其中 start xbean:conf/activemq.xml 可以根據需要自定義
到這一步就可以啟動main函數進行啟動和調試了。
登陸浏覽器通路 http://localhost:8161/admin賬号密碼預設都是admin
登陸後如下:
可以正常啟動,接下來就是自己debugger了。
5、需要注意的問題
使用jdk10和jdk9要注意jdk\lib中沒有tools.jar 和 dt.jar包,解決方法是重新安裝jdk,将jdk目錄與jre目錄設定為不同即可。 (沒有試過,大家可以測試下)
源碼導入idea,如果子產品目錄顔色是灰色的話,需要加入到maven項目中重新建構下。正常導入後是這樣,目錄下面有顔色代表已經識别為maven項目: 如有問題,可以交流,歡迎轉載。