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
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項目: