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

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包。(lib中的包全部导入)
这里写图片描述
把解压包中除过activemq-all-*.jar 和 lib目录的其他目录拷贝到源码下载的activemq同级目录下,如下:
这里写图片描述
如何启动:
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项目:
这里写图片描述

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值