我在我的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的文件
我会错过什么吗?
答案 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)
实际上,如果我们想要打印某些东西,请使用内置记录器。
对于第二个,转到目标/释放/,解压缩文件然后运行。