我通常通过复杂的日志配置来完成。但现在我想在 Eclipse (Photon) 中调试 ActiveMQ (5.15.5) 代理组件的部分内容。下载、构建并运行 mvn eclipse:eclipse
后,我现在拥有一个充满组件项目的工作区,没有关联的运行配置。由于某种原因,mvn install
在activemq-assemble/src/release/bin
中生成了一个可执行文件,但这似乎受到限制,而且并不明显,我有什么告诉 Eclipse 运行。
我以前也遇到过类似的问题。
一般来说:我是否只是猜测一个Main
(有很多)并通过反复试验进行搜索?或者是否有一种结构化方法可以用来调试此类松散耦合的应用程序?
最佳答案
我建议使用任何现代 Java IDE(例如 Eclipse、IDEA 等)都可以使用的远程调试。请按照下列步骤操作:
- 获取 ActiveMQ source code它对应于您正在运行的代理的版本。
- 打开 ActiveMQ 实例的
bin
目录中的env
文件,并取消注释定义ACTIVEMQ_DEBUG_OPTS
的行。 - 使用 IDE 在 ActiveMQ 代码中设置断点。
- 启动代理。
- 连接调试器。
- 重现您的问题并从您设置的断点调试代码。
关于java - 如何调试面向插件的大型 Java 项目,例如Eclipse 中的 ActiveMQ(非 Artemis)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52274591/