Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Eclipse中调试大型面向插件的Java项目,例如ActiveMQ(非Artemis)?_Java_Eclipse_Activemq - Fatal编程技术网

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

如何在Eclipse中调试大型面向插件的Java项目,例如ActiveMQ(非Artemis)?,java,eclipse,activemq,Java,Eclipse,Activemq,我通常通过精心设计的日志配置来解决问题。但现在我想调试Eclipse(Photon)中ActiveMQ(5.15.5)代理组件的部分内容。下载、构建和运行mvneclipse:eclipse之后,我现在有了一个充满组件项目的工作区,没有相关的运行配置。出于某种原因,mvn install在activemq assembly/src/release/bin中生成一个可执行文件,但这似乎是有限的,而且不明显,我必须告诉eclipse运行什么 我以前也有过类似的问题。 总的来说:我只是猜测一个Main

我通常通过精心设计的日志配置来解决问题。但现在我想调试Eclipse(Photon)中ActiveMQ(5.15.5)代理组件的部分内容。下载、构建和运行
mvneclipse:eclipse
之后,我现在有了一个充满组件项目的工作区,没有相关的运行配置。出于某种原因,
mvn install
activemq assembly/src/release/bin
中生成一个可执行文件,但这似乎是有限的,而且不明显,我必须告诉eclipse运行什么

我以前也有过类似的问题。
总的来说:我只是猜测一个
Main
(有很多)然后用试错法搜索吗?还是有一种结构化的方法可以用来调试这种松散耦合的应用程序?

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

  • 获取与正在运行的代理版本相对应的ActiveMQ
  • 打开ActiveMQ实例的
    bin
    目录中的
    env
    文件,并取消注释定义
    ActiveMQ\u DEBUG\u OPTS
    的行
  • 在ActiveMQ代码中设置IDE的断点
  • 启动代理
  • 附加调试器
  • 重现您的问题并从设置的断点调试代码
  • 您必须将其作为Eclipse应用程序(的一部分)运行,而不是作为Java应用程序运行。此外,还必须指定目标平台。或者,您可以远程调试它。