elasticsearch构建和运行错误

时间:2015-08-06 07:55:02

标签: java maven elasticsearch

我在我的Mac上建立弹性搜索。

首先,我使用master分支从这里克隆了repo:(https://github.com/elastic/elasticsearch.git

然后我根据root / core目录中自述文件的说明运行了mvn clean包。

构建成功后,我运行" java -cp target / elasticsearch-2.0.0-beta1-SNAPSHOT-sources.jar org.elasticsearch.bootstrap.ElasticsearchF"

然而它引发了一个异常,说"错误:无法找到或加载主类org.elasticsearch.bootstrap.ElasticsearchF"

我的java版本是:

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

不确定发生了什么。基本上我想添加一些打印来查看弹性搜索如何接收和执行请求。此外,在编译期间,它抱怨System.out.println不能在生产模式下使用(仅在重复数据删除模式下)。

有人知道如何解决这些问题吗?

更新

我将我的java升级到8,运行另一个命令: "java -cp target/elasticsearch-2.0.0-beta1-SNAPSHOT.jar org.elasticsearch.bootstrap.ElasticsearchF", 然后它又向我扔了一个错误:

  

java.lang.NoClassDefFoundError:   组织/阿帕奇/公地/ CLI / CommandLineParser

那么它是否意味着elasticsearch不会将CommandLineParser添加为依赖项?如果是这样,那么我需要添加所有依赖项?如果没有,我错过了什么?

更新II:

我分别尝试了1.7.3和1.5.3,他们两个都给了我:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/lucene/util/IOUtils

然后我去了文件夹,发现有一个名为XIOUtils.java的文件

我会错过什么吗?

2 个答案:

答案 0 :(得分:0)

你应该升级你的java版本:

文档建议安装Java 8更新20或更高版本,或Java 7更新55或更高版本。

已知早期版本的Java 7存在可能导致索引损坏和数据丢失的错误。如果使用已知的坏版本的Java,Elasticsearch将拒绝启动。

您可以在此处查看文档:

https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html#jvm-version

答案 1 :(得分:0)

实际上,如果我们想要打印某些东西,请使用内置记录器。

对于第二个,转到目标/释放/,解压缩文件然后运行。