当前位置: 首页 > 知识库问答 >
问题:

在节点中加载Java JNA本机库

鲁才艺
2023-03-14

我正在通过Node.js1的[node-java]包装器运行一个JNA编译的本机库

这个库是Hunsplaw JNA,它包装了Hunsplaw拼写库。

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

当试图从lib路径加载本机库时,所发生的情况是节点似乎挂起:

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

库就在那里,我也尝试了该方法的第二个选项,复制到一个临时文件夹中并从那里加载,这样我就可以看到

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

它就在那里。

共有1个答案

蒋曾笑
2023-03-14

它收到的数据是什么?它收到了吗?

getInstance(String libDir)是HunspellManager的实例,在指定的目录中查找本机lib。

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

希望能有所帮助。

 类似资料:
  • 问题内容: 我正在尝试编写一个将从用户的串行端口读取的Java小程序。为此,我将Java Comm API 与RXTX库结合使用。我已经成功地通过本地Java应用程序读取了数据,但似乎无法在applet中进行相同的操作。问题在于RXTX库是一个本机库,我还没有找到在Java小程序中加载该库的方法。我发现了两篇有趣的文章(在Applets中使用JNI引用了本文),但是这两篇文章已有10多年的历史了,

  • 我有以下分布 主要的jar包含main方法,我想在其中访问lib提供的本机函数。所以被捆绑在发行版中。开始sh只需设置java的类路径和引导。 加载库的最佳方法是什么。那么应用程序内部的库呢?我知道两种方法: 系统。加载(绝对路径) 系统。loadLibrary(名称) 前者需要库在文件系统中的绝对路径,后者需要设置特定于应用程序的java。图书馆路径JVM参数。在这种情况下,哪种解决方案更好?将

  • 我们在前一章中使用了节点模块fs。 我们现在将介绍一些我们可以与Electron一起使用的其他节点模块。 OS模块 使用OS模块,我们可以获得有关运行我们的应用程序的系统的大量信息。 以下是一些在创建应用程序时有用的方法。 这些方法可帮助我们根据运行的操作系统自定义应用程序。 S.No 功能说明 1 os.userInfo([options]) os.userInfo()方法返回有关当前有效用户的

  • 我有一个csv格式的数据集。其中一个字段是“elem_type”。基于此类型,我需要创建不同的类型节点,并在使用csv load加载数据时,根据“elem_type”为csv的“列”赋予不同的名称,有什么方法可以做到这一点吗? 我的csv没有标头,数据如下所示: 基于第一个colmuns,即我的“elem_type”,我要加载数据并定义3种类型的节点(Person,Car,Boat)