我想要运行以下Java代码:
import java.util.Map;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.node.Node;
import static org.elasticsearch.node.NodeBuilder.*;
public class MongoDB {
public static void main(String[] args) {
Node node = nodeBuilder().clusterName("elasticsearch").client(true).node();
Client client = node.client();
node.close();
}
}
我使用以下命令运行了mongod:
mongod --port 27017 --replSet rs0
使用默认配置的Elasticsearch
每次运行程序时,我都会遇到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/lucene/util/Version
at org.elasticsearch.Version.<clinit>(Version.java:42)
at org.elasticsearch.Version.<clinit>(Version.java:42)
at org.elasticsearch.node.internal.InternalNode.<init>(InternalNode.java:129)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:159)
at org.elasticsearch.node.NodeBuilder.node(NodeBuilder.java:166)
at org.elasticsearch.river.mongodb.MongoDB.main(MongoDB.java:10)
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.util.Version
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 5 more
Java Result: 1