本文以Elasticsearch v6.4.3 为例,介绍使用IDEA调试Elasticsearch源码的方法。
使用到的工具如下:
组件 | 版本 |
---|---|
JDK | 10.0.1 |
Gradle | 4.9 |
Elasticsearch | 6.4.3 |
IDEA | 2018.3.2 x64 |
# 将ES代码下载至本地
git clone https://github.com/elastic/elasticsearch.git
# 进入代码目录
cd elasticsearch
# 创建一个新的本地分支,方便同时管理多个版本的代码。若无此需求,可以跳过此步骤
git checkout -b debug_6.4.3
# 切换至指定版本
git checkout v6.4.3
下载地址:https://www.elastic.co/downloads/elasticsearch。 下载后解压到某个目录。
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html
安装完毕后,新建环境变量JAVA_HOME,值为jdk所在的文件夹
安装包解压后,将gradle的bin文件夹加入Path
gradle idea
,等待编译完成gradle idea
,等待编译完成sync finished
。此时会报错:
grant {
permission java.lang.RuntimePermission "createClassLoader";
};
D:\elasticsearch_release\elasticsearch-6.4.3
注意勾选 Include dependencies 那个选项
-Des.path.home=D:\elasticsearch_release\elasticsearch-6.4.3 -Des.path.conf=D:\elasticsearch_release\elasticsearch-6.4.3\config -Djava.security.policy=D:\elasticsearch_release\elasticsearch-6.4.3\config\java.policy -Dlog4j2.disable.jmx=true
位置:D:\elasticsearch_code\elasticsearch_6.4.3\elasticsearch\server\src\main\java\org\elasticsearch\bootstrap\Elasticsearch.java 文件中的main(java.lang.String[])
快捷键:
快捷键 | 介绍 |
---|---|
Ctrl+Q | To quickly see the documentation for a class or method at caret |
Ctrl+B | To navigate to the declaration of a class, method or variable |
Ctrl+F12 | You can quickly navigate in the currently edited file |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。