有没有一种方法可以在IntelliJ中实时调试ElasticSearch服务器? 我没有使用过Maven。 我的目标是在运行时进行调试和检查变量和执行流程。
有没有一种方法可以在IntelliJ中实时调试ElasticSearch服务器? 我没有使用过Maven。 我的目标是在运行时进行调试和检查变量和执行流程。
好的,找到了。使用 IntelliJ 的运行菜单添加一个新的运行配置。
Main class
设置为 org.elasticsearch.bootstrap.BootstrapVM options
设置为 -Des.foreground=yes完成。 来源。
ElasticsearchF
似乎已经不存在了,而Bootstrap
也没有主方法。 - Jeff Evans您没有表明您是要调试/步入Elastic Search(ES)客户端还是服务器代码。
对于客户端代码
只要源代码已经附加,您就可以进行调试。如果您使用的是Maven,则可以请求它下载并附加源代码,假设它们在Maven中央库中可用。(Elastic Search确实将其源代码部署到maven中央库中,所以您应该可以从中受益。 如果没有,您就必须在“项目结构”对话框中“手动”附加源JAR。)
为了让maven下载和附加源代码,请打开maven工具窗口并单击“Download…”按钮 ,然后选择Download Sources或Download Sources and Documentation. IDEA现在会下载和附加所有可用的源代码(和/或javadoc),用于您项目中的所有依赖项/库。如果需要,您可以配置maven始终执行此操作。要设置当前项目,请单击maven工具窗口中的设置按钮
,然后选择Importing节点或转到Settings > [Project Settings] > Maven > Importing。在对话框中,勾选“自动下载”源和/或文档选项。要将其设置为所有将来创建的项目的默认值,请转到File > Other Settings > Default Settings > Maven > Importing并进行设置。
一旦源代码已经附加,您将能够步入elastic search代码,或通过以下任一方法之一打开一个类:1)使用Ctrl+N搜索并输入一个类,键入Ctrl+N第二次以包括库类在您的搜索中或2)使用Ctrl+B(当您的光标在方法调用上时)或Ctrl+Click
跳转到方法声明。然后,您可以设置断点。
对于服务器代码
您需要创建一个带有源代码的elastic search项目。最简单的方法就是克隆他们的repo(或以其他方式检出)您也可以将ES服务器库(包括源代码)附加到您的项目中。
如果您正在本地运行elastic search,只需创建一个本地的Run/Debug配置来运行ES并通过Debug启动。如果在远程服务器上运行ES,则需要创建一个远程调试配置,然后附加到远程ES服务器(需要使用正确的Java Debug属性启动)。有关更多信息,请参见帮助> IntelliJ IDEA > 参考> 对话框> 运行/调试配置> 运行/调试配置:Remote 和帮助> IntelliJ IDEA > 语言和框架特定指南> Java EE > 使用应用程序服务器> 使用服务器运行/调试配置。