【问题标题】:Can't start Cassandra on Windows, getting UnsatisfiedLinkError "Can't find dependent libraries"无法在 Windows 上启动 Cassandra,出现 UnsatisfiedLinkError “找不到依赖库”
【发布时间】:2021-07-22 17:27:25
【问题描述】:

Java:

java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

Python 版本:Python 2.7.18

我想启动 cassandra,但出现此错误:

na8359801313343189739.dll: Can't find dependent libraries
java.lang.UnsatisfiedLinkError: C:\Users\rambo\AppData\Local\Temp\jna-108279019\jna8359801313343189739.dll: Can't find dependent libraries
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.load0(Unknown Source)
        at java.lang.System.load(Unknown Source)
        at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:851)
        at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:826)
        at com.sun.jna.Native.<clinit>(Native.java:140)
        at org.apache.cassandra.utils.WindowsTimer.<clinit>(WindowsTimer.java:35)
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:630)
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:786)
ERROR [main] 2021-06-04 19:01:40,594 CassandraDaemon.java:803 - Exception encountered during startup
java.lang.UnsatisfiedLinkError: C:\Users\rambo\AppData\Local\Temp\jna-108279019\jna8359801313343189739.dll: Can't find dependent libraries
        at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[na:1.8.0_271]
        at java.lang.ClassLoader.loadLibrary0(Unknown Source) ~[na:1.8.0_271]
        at java.lang.ClassLoader.loadLibrary(Unknown Source) ~[na:1.8.0_271]
        at java.lang.Runtime.load0(Unknown Source) ~[na:1.8.0_271]
        at java.lang.System.load(Unknown Source) ~[na:1.8.0_271]
        at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:851) ~[jna-4.2.2.jar:4.2.2 (b0)]
        at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:826) ~[jna-4.2.2.jar:4.2.2 (b0)]
        at com.sun.jna.Native.<clinit>(Native.java:140) ~[jna-4.2.2.jar:4.2.2 (b0)]
        at org.apache.cassandra.utils.WindowsTimer.<clinit>(WindowsTimer.java:35) ~[apache-cassandra-3.11.10.jar:3.11.10]
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:630) [apache-cassandra-3.11.10.jar:3.11.10]
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:786) [apache-cassandra-3.11.10.jar:3.11.10]

非常感谢你的帮助!!!

【问题讨论】:

标签: cassandra


【解决方案1】:

根据我的经验,这通常是由于 Java 供应商的问题。无论出于何种原因,AdoptOpenJDK 已经多次出现这种情况。

我怀疑 AdoptOpenJDK 不符合 TCK,这可能会导致错误,但我承认我从未使用过它,所以我真的不知道。我建议改用 Oracle 或 OpenJDK 的 Java。

我还注意到您正在运行 Java 8u271。我听说更新 261 到 271 对某些用户来说有问题,所以我建议使用早期版本,例如 Java 8 更新 252 或更新版本,例如更新 282 或 292。

附带说明,我们很少在 Windows 上运行测试(如果有的话),所以我会赞同 Alex Ott 的建议,改为使用 Docker。作为替代方案,请考虑部署K8ssandra.io。如果您只是想在 Cassandra 上测试编写应用程序,Astra 有一个您可以使用的免费套餐。干杯!

【讨论】:

    猜你喜欢
    • 2015-03-31
    • 2013-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多