博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
教你如何在 IDEA 远程 Debug ElasticSearch
阅读量:6433 次
发布时间:2019-06-23

本文共 2456 字,大约阅读时间需要 8 分钟。

前提

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

[2018-08-01T09:44:27,370][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [] fatal error in thread [main], exitingjava.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.
(PluginsService.java:162) ~[main/:?] at org.elasticsearch.node.Node.
(Node.java:311) ~[main/:?] at org.elasticsearch.node.Node.
(Node.java:252) ~[main/:?] at org.elasticsearch.bootstrap.Bootstrap$5.
(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

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

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

远程 Debug

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

启动一个实例

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

./gradlew run --debug-jvm

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

启动debug实例

配置 IDEA

新建一个远程的 debug:

idea-remote

配置如下图:

remote-settings

接下来点击 OK 就好了。

然后点击下面的 debug 图标:

debug

启动后如下:

2018-08-14_19-18-11

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

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

2018-08-14_19-21-48

总结

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

关注我

zhisheng

最后

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

相关文章

1、

2、

3、

4、

5、

6、

7、

8、

9、

10、

你可能感兴趣的文章
你敢在post和get上刁难我,就别怪我装逼了
查看>>
直播 3.0 时代,在线教育行业的裂变和重构
查看>>
SpringBoot使用Nacos服务发现
查看>>
2017双11技术揭秘—阿里巴巴数据库技术架构演进
查看>>
我的友情链接
查看>>
Spring框架 - AOP使用
查看>>
Ansible常用内置属性
查看>>
C#使用正则表达式校验邮箱
查看>>
Linux自动清理N天前目录文件
查看>>
方便 快捷 安全的EVO邮件服务器
查看>>
bash的快捷键
查看>>
关于如何编写linux设备驱动
查看>>
DNS服务
查看>>
九州云开放“边缘云”能力 助力中国联通延展业务边界
查看>>
Linux进程状态(ps stat)之R、S、D、T、Z、X
查看>>
ME3750和普通3750的区别
查看>>
H3C交换系列之Super VLAN
查看>>
项目采购管理
查看>>
linux系统使用tomcat服务器部署web项目
查看>>
虚拟文件系统相关结构描述【续】
查看>>