教你如何在 IDEA 远程 Debug ElasticSearch

发布时间:2019-11-21 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了教你如何在 IDEA 远程 Debug ElasticSearch脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

前提

之前在源码阅读环境搭建文章中写过我遇到的一个问题迟迟没有解决,也一直困扰着我。问题如下,在启动的时候解决掉其他异常和报错后,最后剩下这个错误一直解决不了:

[2018-08-01T09:44:27,370][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [] fatal error in thread [main], exiting java.lang.NoClaSSDefFoundError: org/elasticsearch/plugins/ExtendedPluginsClassLoader     at org.elasticsearch.plugins.PluginsService.loadBundle(PluginsService.java:632) ~[main/:?]     at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:557) ~[main/:?]     at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:162) ~[main/:?]     at org.elasticsearch.node.Node.<init>(Node.java:311) ~[main/:?]     at org.elasticsearch.node.Node.<init>(Node.java:252) ~[main/:?]     at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:213) ~[main/:?]     at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[main/:?]     at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[main/:?]     at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[main/:?]     at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[main/:?]     at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[main/:?]     at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[main/:?]     at org.elasticsearch.cli.Command.main(Command.java:90) ~[main/:?]     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[main/:?]     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[main/:?] Caused by: java.lang.ClassNotFoundException: org.elasticsearch.plugins.ExtendedPluginsClassLoader     at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) ~[?:?]     at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) ~[?:?]     at java.lang.ClassLoader.loadClass(ClassLoader.java:499) ~[?:?]     ... 15 more

网上的解决办法也试了很多遍,包括自己也在 GitHub issue 提问了,也没能解决。然后后面自己分享文章在掘金也发现有人和我有同样的问题。

下面讲讲另一种可以让你继续看码的方法。

远程 Debug

前提条件是你之前已经把项目导入进 IDEA 了,如果你还没了解,请看之前的文章,这里不重复了。

启动一个实例

在你 git 拉取下的代码,切换你要阅读的分支代码后,执行下面这条命令启动一个 debug 的实例:

./gradlew run --debug-jvm

启动等会后,就可以看到启动好后的端口号为 8000 了。

教你如何在 IDEA 远程 Debug ElasticSearch

配置 IDEA

新建一个远程的 debug:

教你如何在 IDEA 远程 Debug ElasticSearch

配置如下图:

教你如何在 IDEA 远程 Debug ElasticSearch

接下来点击 OK 就好了。

然后点击下面的 debug 图标:

教你如何在 IDEA 远程 Debug ElasticSearch

启动后如下:

教你如何在 IDEA 远程 Debug ElasticSearch

这时就可以发现是可以把整个流程全启动了,也不会报什么错误!

流程全启动后,你会发现终端的日志都打印出来了(注意:这时不是打印在你的 IDEA 控制台)

教你如何在 IDEA 远程 Debug ElasticSearch

总结

遇到问题,多思考,多搜索,多想办法解决!这样才能够不断提升你解决问题的能力!

关注我

教你如何在 IDEA 远程 Debug ElasticSearch

最后

转载请务必注明文章出处为:

@L_777_16@

相关文章

1、渣渣菜鸡为什么要看 ElasticSearch 源码?

2、渣渣菜鸡的 ElasticSearch 源码解析 —— 环境搭建

3、渣渣菜鸡的 ElasticSearch 源码解析 —— 启动流程(上)

4、渣渣菜鸡的 ElasticSearch 源码解析 —— 启动流程(下)

5、Elasticsearch 系列文章(一):Elasticsearch 默认分词器和中分分词器之间的比较及使用方法

6、Elasticsearch 系列文章(二):全文搜索引擎 Elasticsearch 集群搭建入门教程

7、Elasticsearch 系列文章(三):ElasticSearch 集群监控

8、Elasticsearch 系列文章(四):ElasticSearch 单个节点监控

9、Elasticsearch 系列文章(五):ELK 实时日志分析平台环境搭建

10、教你如何在 IDEA 远程 Debug ElasticSearch

脚本宝典总结

以上是脚本宝典为你收集整理的教你如何在 IDEA 远程 Debug ElasticSearch全部内容,希望文章能够帮你解决教你如何在 IDEA 远程 Debug ElasticSearch所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。