编年史HashRecoveryFailedException中的异常:java.lang.UnsatisfiedLinkError:Can';找不到依赖库

编年史HashRecoveryFailedException中的异常:java.lang.UnsatisfiedLinkError:Can';找不到依赖库,java,chronicle-map,Java,Chronicle Map,尝试创建编年史地图时出现以下错误: Exception in thread "main" net.openhft.chronicle.hash.ChronicleHashRecoveryFailedException: java.lang.UnsatisfiedLinkError: C:\Users\sando\AppData\Local\Temp\jna-109203563\jna13551597900255569913.dll: Can't find dependent libraries

尝试创建编年史地图时出现以下错误:

Exception in thread "main" net.openhft.chronicle.hash.ChronicleHashRecoveryFailedException: java.lang.UnsatisfiedLinkError: C:\Users\sando\AppData\Local\Temp\jna-109203563\jna13551597900255569913.dll: Can't find dependent libraries
    at net.openhft.chronicle.map.ChronicleMapBuilder.openWithExistingFile(ChronicleMapBuilder.java:1877)
    at net.openhft.chronicle.map.ChronicleMapBuilder.createWithFile(ChronicleMapBuilder.java:1701)
    at net.openhft.chronicle.map.ChronicleMapBuilder.recoverPersistedTo(ChronicleMapBuilder.java:1655)
    at net.openhft.chronicle.map.ChronicleMapBuilder.createOrRecoverPersistedTo(ChronicleMapBuilder.java:1638)
    at net.openhft.chronicle.map.ChronicleMapBuilder.createOrRecoverPersistedTo(ChronicleMapBuilder.java:1629)
    at com.mycompany.app.App.createIndexOneFile(App.java:54)
    at com.mycompany.app.App.createIndexOne(App.java:31)
    at com.mycompany.app.App.main(App.java:23)
Caused by: java.lang.UnsatisfiedLinkError: C:\Users\sando\AppData\Local\Temp\jna-109203563\jna13551597900255569913.dll: Can't find dependent libraries
    at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
    at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
    at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617)
    at java.base/java.lang.Runtime.load0(Runtime.java:765)
    at java.base/java.lang.System.load(System.java:1834)
    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 net.openhft.chronicle.hash.impl.util.jna.WindowsMsync.<clinit>(WindowsMsync.java:34)
    at net.openhft.chronicle.hash.impl.VanillaChronicleHash.msync(VanillaChronicleHash.java:853)
    at net.openhft.chronicle.hash.impl.VanillaChronicleHash.msync(VanillaChronicleHash.java:841)
    at net.openhft.chronicle.map.ChronicleMapBuilder.commitChronicleMapReady(ChronicleMapBuilder.java:464)
    at net.openhft.chronicle.map.ChronicleMapBuilder.openWithExistingFile(ChronicleMapBuilder.java:1871)
    ... 7 more
线程“main”net.openhft.chronicle.hash.chronizeHashRecoveryFailedException:java.lang.UnsatifiedLinkError:C:\Users\sando\AppData\Local\Temp\jna-109203563\JNA1355159790025569913.dll:找不到依赖库
位于net.openhft.chronicle.map.chronizeMapBuilder.openWithExistingFile(chronizeMapBuilder.java:1877)
位于net.openhft.chronicle.map.chronizeMapBuilder.createWithFile(chronizeMapBuilder.java:1701)
位于net.openhft.chronicle.map.chronizeMapBuilder.recoverPersistedTo(chronizeMapBuilder.java:1655)
位于net.openhft.chronicle.map.chronizeMapBuilder.createOrRecoverPersistedTo(chronizeMapBuilder.java:1638)
位于net.openhft.chronicle.map.chronizeMapBuilder.createOrRecoverPersistedTo(chronizeMapBuilder.java:1629)
在com.mycompany.app.app.createIndexOneFile上(app.java:54)
在com.mycompany.app.app.createIndexOne上(app.java:31)
位于com.mycompany.app.app.main(app.java:23)
原因:java.lang.UnsatifiedLink错误:C:\Users\sando\AppData\Local\Temp\jna-109203563\jna13551597900255569913.dll:找不到依赖库
位于java.base/java.lang.ClassLoader$NativeLibrary.load0(本机方法)
位于java.base/java.lang.ClassLoader$NativelLibrary.load(ClassLoader.java:2430)
位于java.base/java.lang.ClassLoader$NativelLibrary.loadLibrary(ClassLoader.java:2487)
位于java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
位于java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617)
位于java.base/java.lang.Runtime.load0(Runtime.java:765)
位于java.base/java.lang.System.load(System.java:1834)
位于com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:851)
位于com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:826)
位于com.sun.jna.Native。(Native.java:140)
位于net.openhft.chronicle.hash.impl.util.jna.WindowsMsync.(WindowsMsync.java:34)
在net.openhft.chronicle.hash.impl.vanillahronicshash.msync(vanillahronicshash.java:853)
在net.openhft.chronicle.hash.impl.vanillahronicshash.msync(vanillahronicshash.java:841)
位于net.openhft.chronicle.map.chronicmappbuilder.commitchroniclemapredy(chronicmappbuilder.java:464)
位于net.openhft.chronicle.map.chronizeMapBuilder.openWithExistingFile(chronizeMapBuilder.java:1871)
... 还有7个
使用此代码:

String indexOnePath = "D:\\trabajo\\dbpedia\\dbpedia_files\\indexOne.bin";
        File indexOneFile = new File(indexOnePath);

        indexOne = ChronicleMap
                .of(String.class, String.class)
                .name("indexOne")
                .entries(27191196)
                .averageValue("<http://dbpedia.org/resource/Robert_Koch>")
                .averageKey("Battle of Ardrianople")
                .createOrRecoverPersistedTo(indexOneFile, true);
String indexOnePath=“D:\\trabajo\\dbpedia\\dbpedia\u files\\indexOne.bin”;
文件索引文件=新文件(索引路径);
indexOne=历史地图
.of(String.class,String.class)
.名称(“indexOne”)
.参赛作品(27191196)
.平均值(“”)
.averageKey(“Ardrianople之战”)
.createOrRecoverPersistedTo(索引定义文件,true);
我的pom.xml依赖项如下所示:

<dependency>
            <groupId>net.openhft</groupId>
            <artifactId>chronicle-map</artifactId>
            <version>3.19.4</version>
        </dependency>

net.openhft
编年史地图
3.19.4
我正在Windows 10上使用Java SDK 11.0.6


它似乎创建了文件,但随后出现了异常。如果我使用create而不是createOrRecoverPersistedTo,似乎没有问题。

最新发布的编年史地图版本依赖于相当旧的jna版本(4.2.1),该版本不适用于最近的Windows。您可以尝试上一个快照版本(3.19.5-snapshot),因为我们尚未发布它,或者尝试在maven中覆盖jna版本,例如,将此添加到依赖项管理部分:

            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
                <version>5.5.0</version>
            </dependency>

            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna-platform</artifactId>
                <version>5.5.0</version>
            </dependency>

net.java.dev.jna
jna
5.5.0
net.java.dev.jna
jna平台
5.5.0