最近想从代码层面学习下 ElasticSearch,于是下载代码并导入到 idea 中,开始一顿操作,gradle 各种倒腾,还是没法直接从代码运行进程,最后选择了一种不那么直接的 debug 方法,远程调试。
1. 首先 git clone es 的最新代码
git clone https://github.com/elastic/elasticsearch.git
2. 直接使用项目中的 gradlew.bat 打包程序
.\gradlew.bat :distribution:archives:windows-zip:assemble
3. 修改代码,并打包
在 org.elasticsearch.server.cli.ServerProcess#createProcess 中添加
jvmOptions.add("-agentlib:jdwp=transport=dt_socket,server=n,address=localhost:5007,suspend=y");
再次执行 .\gradlew.bat :distribution:archives:windows-zip:assemble
4. 在 idea 中配置 remote jvm debug,并运行远程调试
5. 本地启动 ElasticSearch
elasticsearch\distribution\archives\windows-zip\build\install\elasticsearch-8.7.0-SNAPSHOT\bin\elasticsearch.bat
6. 使用命令行创建用户 elasticsearch-users.bat useradd zhang -p zhang123 -r superuser
使用账号和密码登录 localhost:9200
7. 设置断点,访问 https://localhost:9200/_cat/health?v
标签:bat,8.7,windows,源码,elasticsearch,localhost,调试 From: https://www.cnblogs.com/allenwas3/p/16938147.html