java - 在 Node 中加载 Java JNA 原生库

标签 java node.js jna

我正在通过 Node.js 的 [node-java] 包装器运行 JNA 编译的 native 库 1

图书馆是 Hunspell JNA包装了 hunspell 拼写库。

在我最简单的测试中

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

发生的情况是,当尝试从 lib 路径加载 native 库时, Node 似乎挂起:

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(字符串 libDir) HunspellManager 的实例在指定的目录中查找 native 库。

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

希望有帮助。

关于java - 在 Node 中加载 Java JNA 原生库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42585453/

相关文章:

java - X11 JNA Bad Window(无效的Window参数)导致JVM退出

java - 使用 JNA XLib 在 X11 环境中获取所有 Windows

java - 为什么 OSX 无法检测到 android Galaxy S 进行 USB 调试?

索引处的 Java Streams API 汇总列表

node.js - Mongodb 如何查询特定文档的数组子集

javascript - 如何改善 OpenCV 两幅图像的背景下降

java - onDraw() 或dispatchDraw() 不会在触摸时被调用

java - 错误: ORA-00900 Invalid SQLStatement but statement still works as intended

javascript - 消息: 'Cast to number failed for value "undefined"at path in nodejs mongoose express

c - JNA 映射到 C