我正在尝试在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参数执行相同的命令时,我遇到了这个错误:
:> ./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
环境变量:
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
我删除了所有缓存目录。我认为这可能是现在它正在工作的“原因”。
~/Library/Caches
/Library/Caches
我移除了CLASSPATH环境变量。
ES_PATH和ES_HOME环境变量也未设置,但我认为这并不是很重要。
注意:现在使用brew安装也可以工作。
谢谢。
brew install elasticsearch
,若要查看如何在您的Mac上启动服务,请使用brew info elasticsearch
查看信息。 - DiolorCLASSPATH
的问题。 - pickypg