下载Activemq源码、编译、导入idea、源码调试总结

Activemq源码、编译、导入idea、源码调试总结

1、在本地下载源码

下载Activemq源码、编译、导入idea、源码调试总结_第1张图片

下载Activemq源码、编译、导入idea、源码调试总结_第2张图片
在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查看如下:
下载Activemq源码、编译、导入idea、源码调试总结_第3张图片
到这一步,源码下载已经完成。

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

下载Activemq源码、编译、导入idea、源码调试总结_第4张图片

选择 Import Project
目录选到源码下载的activemq目录下,导入。
下载Activemq源码、编译、导入idea、源码调试总结_第5张图片
等待maven下载完依赖后,idea显示如下:
下载Activemq源码、编译、导入idea、源码调试总结_第6张图片

4、源码调试

源代码启动主函数在activemq-console中,上面提到过在activemq/assembly/target下生成的压缩包,apache-activemq-5.15.7-SNAPSHOT-bin.tar该压缩包里的lib目录下有activemq-console所需要的jar包。
解压包中的目录结构如下:
下载Activemq源码、编译、导入idea、源码调试总结_第7张图片
在idea File – Project Structure – Modules 下选择 activemq-console为其添加解压包中lib里的jar包。(lib中的包全部导入)
下载Activemq源码、编译、导入idea、源码调试总结_第8张图片
把解压包中除过activemq-all-*.jar 和 lib目录的其他目录拷贝到源码下载的activemq同级目录下,如下:
下载Activemq源码、编译、导入idea、源码调试总结_第9张图片
如何启动:
activemq-console目录结构:
下载Activemq源码、编译、导入idea、源码调试总结_第10张图片
给主函数加启动参数:
下载Activemq源码、编译、导入idea、源码调试总结_第11张图片
其中 start xbean:conf/activemq.xml 可以根据需要自定义

到这一步就可以启动main函数进行启动和调试了。
下载Activemq源码、编译、导入idea、源码调试总结_第12张图片
登陆浏览器访问 http://localhost:8161/admin
下载Activemq源码、编译、导入idea、源码调试总结_第13张图片
账号密码默认都是admin
登陆后如下:
下载Activemq源码、编译、导入idea、源码调试总结_第14张图片
可以正常启动,接下来就是自己debugger了。

5、需要注意的问题

使用jdk10和jdk9要注意jdk\lib中没有tools.jar 和 dt.jar包,解决方法是重新安装jdk,将jdk目录与jre目录设置为不同即可。(没有试过,大家可以测试下)

源码导入idea,如果模块目录颜色是灰色的话,需要加入到maven项目中重新构建下。正常导入后是这样,目录下面有颜色代表已经识别为maven项目:
下载Activemq源码、编译、导入idea、源码调试总结_第15张图片

如有问题,可以交流,欢迎转载。

你可能感兴趣的:(activemq源码)