3

Elasticsearch を開始すると例外が発生します。

java.lang.NoClassDefFoundError: org/xerial/snappy/Snappy
    at org.elasticsearch.common.compress.snappy.xerial.XerialSnappy.<clinit>(XerialSnappy.java:42) ~[elasticsearch-0.20.6.jar:na]
    at org.elasticsearch.common.compress.CompressorFactory.<clinit>(CompressorFactory.java:58) ~[elasticsearch-0.20.6.jar:na]
    at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:161) [elasticsearch-0.20.6.jar:na]
    at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:109) [elasticsearch-0.20.6.jar:na]
    at no.breakpoint.service.search.SearchClientFactory.getClient(SearchClientFactory.java:17) [classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0]
    at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0]
//....
Caused by: java.lang.ClassNotFoundException: org.xerial.snappy.Snappy
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) ~[na:1.7.0]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.7.0]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ~[na:1.7.0]

POM の依存関係:

    <dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>0.20.6</version>
    </dependency>

この依存関係をPOMに追加すると、例外が消えます。しかし、その理由は何ですか (または、これは通常、クラスパスにライブラリが見つからず、依存関係を追加すると修正されることを意味しますが、Elasticsearch の推移的な依存関係に何か問題があるのでしょうか)?

    <dependency>
        <groupId>org.xerial.snappy</groupId>
        <artifactId>snappy-java</artifactId>
        <version>1.0.4.1</version>
    </dependency>
4

2 に答える 2

2

これは以前に遭遇しました。1.0.4.1の代わりに1.0.5-M1バージョンを使用して解決できました

それが役立つことを願っています!

于 2013-04-10T07:23:13.467 に答える