# How to debug elastic search in an IDE

**URL:** <https://discuss.elastic.co/t/how-to-debug-elastic-search-in-an-ide/53159>\
**Category:** Elasticsearch\
**Created:** [June 17, 2016, 12:54pm UTC](https://discuss.elastic.co/t/how-to-debug-elastic-search-in-an-ide/53159 "2016-06-17T12:54:33Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![adityasinghraghav](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@adityasinghraghav](https://discuss.elastic.co/u/adityasinghraghav)\
**Post date:** [June 17, 2016, 12:54pm UTC](https://discuss.elastic.co/t/how-to-debug-elastic-search-in-an-ide/53159/1 "2016-06-17T12:54:33Z")

</div>

I'm trying to learn the internal workings of ES. How can I get ES running on the IDEA ide ?

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [June 17, 2016, 2:17pm UTC](https://discuss.elastic.co/t/how-to-debug-elastic-search-in-an-ide/53159/2 "2016-06-17T14:17:58Z")

</div>

Hey,

check out elasticsearch on the master branch, run `gradle idea` and then just import the `elasticsearch.ipr` project (on osx just run `open elasticsearch.ipr`.

See [https://github.com/elastic/elasticsearch/blob/master/CONTRIBUTING.md](https://github.com/elastic/elasticsearch/blob/master/CONTRIBUTING.md)

--Alex

---

<div class="post-metadata">

**Author:** ![adityasinghraghav](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@adityasinghraghav](https://discuss.elastic.co/u/adityasinghraghav)\
**Post date:** [June 17, 2016, 2:40pm UTC](https://discuss.elastic.co/t/how-to-debug-elastic-search-in-an-ide/53159/3 "2016-06-17T14:40:02Z")

</div>

What should the configuration be to run elastic search ?

---

<div class="post-metadata">

**Author:** ![adityasinghraghav](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@adityasinghraghav](https://discuss.elastic.co/u/adityasinghraghav)\
**Post date:** [June 17, 2016, 4:06pm UTC](https://discuss.elastic.co/t/how-to-debug-elastic-search-in-an-ide/53159/4 "2016-06-17T16:06:06Z")

</div>

I used the following configuration:

main class: org.elasticsearch.bootstrap.Elasticsearch

Vm options:

-Xms256m  
-Xmx1g  
-Xss256k  
-Djava.awt.headless=true  
-XX:+UseParNewGC  
-XX:+UseConcMarkSweepGC  
-XX:CMSInitiatingOccupancyFraction=75  
-XX:+UseCMSInitiatingOccupancyOnly  
-XX:+HeapDumpOnOutOfMemoryError  
-XX:HeapDumpPath=logs/heapdump.hprof  
-Delasticsearch  
-Des.foreground=yes  
-Djava.library.path=lib/sigar  
-ea  
-Des.config=C:\Users\aditya.raghav\Documents\elasticsearch-master\core\src\test\resources\config\elasticsearch.yaml\>/elasticsearch.yml  
-Des.logger.level=DEBUG

working directory: ES directory

environment variable: ES\_TEST\_LOCAL=true

use classpath of module: core

and when i try to run i get the following error:

Exception in thread "main" java.lang.ClassNotFoundException: org.elasticsearch.bootstrap.Elasticsearch  
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)  
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)  
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)  
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)  
at java.lang.Class.forName0(Native Method)  
at java.lang.Class.forName(Class.java:264)  
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:122)

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [June 20, 2016, 1:50pm UTC](https://discuss.elastic.co/t/how-to-debug-elastic-search-in-an-ide/53159/5 "2016-06-20T13:50:24Z")

</div>

Hey,

not sure what is wrong here, did you import the project differently (trying to import via IDEA's import functionality instead of using `gradle idea` and opening the project file? If you just want to debug something, you could take a look at the integration test cases, and extend from `ESIntegTestCase`

--Alex

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:42pm UTC](https://discuss.elastic.co/t/how-to-debug-elastic-search-in-an-ide/53159/6 "2017-07-05T22:42:15Z")

</div>



---

<div class="post-metadata">

**Author:** ![Alex\_Marquardt](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alex_marquardt/32/42925_2.png) [@Alex\_Marquardt](https://discuss.elastic.co/u/Alex_Marquardt)\
**Post date:** [March 8, 2019, 2:50pm UTC](https://discuss.elastic.co/t/how-to-debug-elastic-search-in-an-ide/53159/7 "2019-03-08T14:50:41Z")

</div>

See: [https://www.elastic.co/blog/how-to-debug-elasticsearch-source-code-in-intellij-idea](https://www.elastic.co/blog/how-to-debug-elasticsearch-source-code-in-intellij-idea)
