在 Node 中加载 Java JNA 本机库

Load Java JNA native library in Node

我是 运行 通过 [node-java] 包装器为 Node.js 1

编译的本地库

库是 Hunspell JNA 包装了 hunspell 拼写库。

在我最简单的测试中

     var instance=java.callStaticMethodSync("dk.dren.hunspell.Hunspell","getInstance");
     console.log( instance );

当尝试从 lib 路径加载本机库时,节点似乎挂起:

hsl = (HunspellLibrary)Native.loadLibrary(libFile, HunspellLibrary.class);

this方法中,所以调用loadLibrary方法时似乎是JNA问题。

库在那里,我也试过那个方法的第二个选项复制到一个临时文件夹并从那里加载,所以我可以看到

Loading temp lib: /var/folders/_b/szqwdfn979n4fdg7f2j875_r0000gn/T/jna5370593161365499003.libhunspell-darwin-x86-64.dylib

它就在那里。

它正在接收的数据是什么,它正在接收任何数据吗?

getInstance(字符串库目录) HunspellManager 的实例,在指定的目录中查找本机库。

来自 man(1) hunspell: 默认字典取决于区域设置。搜索以下环境变量:LC_ALL、LC_MESSAGES 和 LANG。如果设置了 none 那么默认的个人词典是 $HOME/.hunspell_default.

希望对您有所帮助。