首页 > 解决方案 > jna4412392371053342294.dll:找不到依赖库

问题描述

当我安装 cassandra 时,我遇到了这个错误:

INFO  [main] 2021-05-02 00:16:18,144 DatabaseDescriptor.java:775 - Back-pressure is disabled with strategy org.apache.cassandra.net.RateBasedBackPressure{high_ratio=0.9, factor=5, flow=FAST}.
Exception (java.lang.UnsatisfiedLinkError) encountered during startup: C:\Users\ASUS\AppData\Local\Temp\jna-2018896\jna4412392371053342294.dll: Can't find dependent libraries
java.lang.UnsatisfiedLinkError: C:\Users\ASUS\AppData\Local\Temp\jna-2018896\jna4412392371053342294.dll: Can't find dependent libraries
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
        at java.lang.Runtime.load0(Runtime.java:810)
        at java.lang.System.load(System.java:1088)
        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)`enter code here
        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-05-02 00:16:18,258 CassandraDaemon.java:803 - Exception encountered during startup
java.lang.UnsatisfiedLinkError: C:\Users\ASUS\AppData\Local\Temp\jna-2018896\jna4412392371053342294.dll: Can't find dependent libraries
        at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[na:1.8.0_282]
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934) ~[na:1.8.0_282]
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817) ~[na:1.8.0_282]
        at java.lang.Runtime.load0(Runtime.java:810) ~[na:1.8.0_282]
        at java.lang.System.load(System.java:1088) ~[na:1.8.0_282]
        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]
cd C:\Users\ASUS\Downloads\apache-cassandra-3.11.10-bin\apache-cassandra-3.11.10

安装了 java 1.8 和 python 2.7 请问我该如何解决这个问题

标签: javapython-2.7cassandra

解决方案


所以我能够在 GitHub 上找到关于如何处理这个问题的对话:

https://github.com/MarkusBernhardt/proxy-vole/issues/35

基本上,(旧版本的)JNA DLL 动态链接到 msvcrt100.dll。要解决此问题,应安装最新版本的 JNA 库(看起来它已在 JNA 4.3+ 中修复)。

此外,在 Windows 上运行 Apache Cassandra 可能很困难,并且会出现奇怪的错误(如您所见)。我强烈建议在 Linux 上运行它。如果您必须使用 Windows 作为基本操作系统,VirtualBox 或 Docker 可以提供帮助。


推荐阅读