java - 如何调试面向插件的大型 Java 项目,例如Eclipse 中的 ActiveMQ(非 Artemis)?

标签 java eclipse activemq

我通常通过复杂的日志配置来完成。但现在我想在 Eclipse (Photon) 中调试 ActiveMQ (5.15.5) 代理组件的部分内容。下载、构建并运行 mvn eclipse:eclipse 后,我现在拥有一个充满组件项目的工作区,没有关联的运行配置。由于某种原因,mvn installactivemq-assemble/src/release/bin中生成了一个可执行文件,但这似乎受到限制,而且并不明显,我有什么告诉 Eclipse 运行。

我以前也遇到过类似的问题。 一般来说:我是否只是猜测一个Main(有很多)并通过反复试验进行搜索?或者是否有一种结构化方法可以用来调试此类松散耦合的应用程序?

最佳答案

我建议使用任何现代 Java IDE(例如 Eclipse、IDEA 等)都可以使用的远程调试。请按照下列步骤操作:

  1. 获取 ActiveMQ source code它对应于您正在运行的代理的版本。
  2. 打开 ActiveMQ 实例的 bin 目录中的 env 文件,并取消注释定义 ACTIVEMQ_DEBUG_OPTS 的行。
  3. 使用 IDE 在 ActiveMQ 代码中设置断点。
  4. 启动代理。
  5. 连接调试器。
  6. 重现您的问题并从您设置的断点调试代码。

关于java - 如何调试面向插件的大型 Java 项目,例如Eclipse 中的 ActiveMQ(非 Artemis)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52274591/

相关文章:

java - 无法使用Eclipse在Java中进行调试

spring-boot - SpringBoot ActiveMQ 通过1099禁用JMX连接

java - 通过在 ArrayList 中以逗号分割来存储字符串

java - 在 Jenkins 中添加 choice 参数,列出 bash 命令给出的选项

java - JavaFX 中的 ListView 以及来自 SQL 的数据

java - jquery.js 没有在 Tomcat 中加载

jms - 设置 ActiveMQ 桥以连接到 MOM 的不同实现

jms - ActiveMQ 连接到某个地址/端口处的现有队列

java - 黑莓 - 以编程方式设置闹钟?

java - Ehcache搭配tomcat简单例子