1、在本地下載下傳源碼
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TRE1UeZRlTykleaVnVHNWdWNTYwhnMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL1gDN4EzMzcDM0ITOwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
在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
4、源碼調試
在idea File – Project Structure – Modules 下選擇 activemq-console為其添加解壓包中lib裡的jar包。(lib中的包全部導入)
如何啟動:
activemq-console目錄結構:
給主函數加啟動參數:
其中 start xbean:conf/activemq.xml 可以根據需要自定義
到這一步就可以啟動main函數進行啟動和調試了。
登陸浏覽器通路 http://localhost:8161/admin
賬号密碼預設都是admin
登陸後如下:
5、需要注意的問題
使用jdk10和jdk9要注意jdk\lib中沒有tools.jar 和 dt.jar包,解決方法是重新安裝jdk,将jdk目錄與jre目錄設定為不同即可。(沒有試過,大家可以測試下)
源碼導入idea,如果子產品目錄顔色是灰色的話,需要加入到maven項目中重新建構下。正常導入後是這樣,目錄下面有顔色代表已經識别為maven項目: