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

Activemq源码、编译、导入idea、源码调试总结 1、在本地下载源码 下载Activemq源码、编译、导入idea、源码调试总结
文章图片

下载Activemq源码、编译、导入idea、源码调试总结
文章图片

在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、源码调试总结
文章图片

到这一步,源码下载已经完成。
2、编译源码 这里要注意一个问题,因为默认安装jdk10和jdk9后jdk/lib中没有tools.jar 和 dt.jar包,这会导致编译源码会报错。解决方法:重新安装jdk,将jdk目录与jre目录设置为不同即可。
本文使用环境为jdk8
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

进入下载生成的activemq目录下,执行命令:
【下载Activemq源码、编译、导入idea、源码调试总结】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、源码调试总结
文章图片

选择 Import Project
目录选到源码下载的activemq目录下,导入。
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

等待maven下载完依赖后,idea显示如下:
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

4、源码调试
源代码启动主函数在activemq-console中,上面提到过在activemq/assembly/target下生成的压缩包,apache-activemq-5.15.7-SNAPSHOT-bin.tar该压缩包里的lib目录下有activemq-console所需要的jar包。
解压包中的目录结构如下:
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

在idea File – Project Structure – Modules 下选择 activemq-console为其添加解压包中lib里的jar包。(lib中的包全部导入)
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

把解压包中除过activemq-all-*.jar 和 lib目录的其他目录拷贝到源码下载的activemq同级目录下,如下:
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

如何启动:
activemq-console目录结构:
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

给主函数加启动参数:
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

其中 start xbean:conf/activemq.xml 可以根据需要自定义
到这一步就可以启动main函数进行启动和调试了。
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

登陆浏览器访问 http://localhost:8161/admin
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

账号密码默认都是admin
登陆后如下:
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

可以正常启动,接下来就是自己debugger了。
5、需要注意的问题
使用jdk10和jdk9要注意jdk\lib中没有tools.jar 和 dt.jar包,解决方法是重新安装jdk,将jdk目录与jre目录设置为不同即可。(没有试过,大家可以测试下)
源码导入idea,如果模块目录颜色是灰色的话,需要加入到maven项目中重新构建下。正常导入后是这样,目录下面有颜色代表已经识别为maven项目:
下载Activemq源码、编译、导入idea、源码调试总结
文章图片

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

    推荐阅读