Eclipse Development Error


(The Dude) #1

I am trying to debug ES in eclipse. Admittedly I know very little about debugging in eclipse and I have never used Java before (I'm a command line/vim type of programmer).

Having cloned the github ES repo, I can import the project into Eclipse and get it running, but I would like to be able to test against a data set that requires two plugins. Unfortunately when trying to "Run As > Java Application" I get the following error which I don't know how to resolve:

[2015-07-13 18:29:51,481][INFO ][node                     ] [Amatsu-Mikaboshi] version[1.6.1-SNAPSHOT], pid[13050], build[b6253ec/2015-07-13T09:18:32Z]
[2015-07-13 18:29:51,482][INFO ][node                     ] [Amatsu-Mikaboshi] initializing ...
[2015-07-13 18:29:51,572][INFO ][plugins                  ] [Amatsu-Mikaboshi] loaded [analysis-kuromoji, cloud-aws], sites [migration]
[2015-07-13 18:29:51,627][INFO ][env                      ] [Amatsu-Mikaboshi] using [1] data paths, mounts [[/ (/dev/sda1)]], net usable_space [54.3gb], net total_space [91.4gb], types [ext4]
{1.6.1-SNAPSHOT}: Initialization Failed ...
- NoClassDefFoundError[org/elasticsearch/common/collect/ImmutableList]
	ClassNotFoundException[org.elasticsearch.common.collect.ImmutableList]

Any help with this is appreciated.


(Nik Everett) #2

Looks like a missing dependency. When you imported elasticsearch into
eclipse did you do is as an "existing maven project" or something else? If
you do that it then running elasticsearch should just work. You'll need the
maven eclipse integration. That is how I do it at least and it works fine.

If that worked you might have a version conflict issue.

Now that I think about it if you want to debug a plugin its usually simpler
to import that plugin into eclipse and let the maven integration fetch
elasticsearch for you.


(The Dude) #3

Well I am not trying to debug a plugin. I am trying to use two plugins that will allow me to access snapshots that I have out on s3.

Steps to reproduce:

  1. git clone the 1.6 repo.
  2. Follow the following: http://www.lindstromhenrik.com/debugging-elasticsearch-in-eclipse/
  3. Verify that ES by itself runs in Eclipse.

"Broken" from here:
4) Copy plugins from an already installed version of ES (one cannot use the git repos ./bin/plugins script because it has values like "${packaging.plugin.default.config.file}" in it which implies to me that when maven builds a "package" it must be doing substitutions).
5) Try running in Eclipse again. Fails with the error above.

My goal is to better understand how snapshots are being managed with the hopes of pushing the code towards allowing multiple snapshots to happen simultaneously. To do this it seems to me that I should use Eclipse to step through the code to get familiar with what is happening. Since I already have snapshot data on s3, I would like to be able to use the cloud-aws plugin as well as the analysis-kuromoji plugin (my data is primarily Japanese text).

If somebody knows how to run plugins when trying to debug ES within eclipse, please let me know. Also, if it is possible to load two plugins and let "maven integration" fetch elasticsearch for me that would work too I suppose.


(system) #4