我试图在OSX Mavericks上安装Elasticsearch 1.1.0,但是在尝试启动时出现以下错误:
:> ./elasticsearch
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.Version
at org.elasticsearch.bootstrap.Bootstrap.buildErrorMessage(Bootstrap.java:252)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:236)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)
另外,当我用-v arg执行相同的命令时,我得到了这个错误:
:> ./elasticsearch -v
Exception in thread "main" java.lang.NoSuchFieldError: LUCENE_36
at org.elasticsearch.Version.<clinit>(Version.java:42)
这是我的环境:
Java版本
>: java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
安装路径(从elasticsearch下载页面下载.tar.gz存档并在此处提取):
/usr/local/elasticsearch-1.1.0
ENV变量:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
CLASSPATH=/usr/local/elasticsearch-1.1.0/lib/*.jar:/usr/local/elasticsearch-1.1.0/lib/sigar/*.jar
更新
我终于使它工作了,不幸的是不确定如何操作,因为我尝试了很多更改:)。但是,这里列出了一些我可以帮助的更改:
我删除了jdk和jre,然后将其重新安装在干净的环境中。 http://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html#A1096855
我删除了所有缓存目录。我想这可能是因为它现在正在工作
〜/库/缓存
/库/缓存
我删除了CLASSPATH env var。
ES_PATH和ES_HOME env vars也没有设置,但是我认为这不是那么重要。
注意:如果我与brew安装,现在也可以使用。
谢谢。
brew install elasticsearch
并查看如何在Mac中启动该服务,请通过brew info elasticsearch