如何在 JRuby 中指定本机库路径?

how to specify native library path in JRuby?

我正在尝试在 JRuby 中初始化 JUnixSocket,但它失败了,因为它无法找到本机库。我收到错误:

java.lang.UnsatisfiedLinkError:无法加载 junixsocket 库,已尝试 [/opt/newsclub/lib-native/libjunixsocket-linux-1.7-amd64.so、/opt/newsclub/lib-native/libjunixsocket-linux-1.5-amd64.so、lib:junixsocket-linux-1.7-amd64, lib:junixsocket-linux-1.5-amd64];请定义系统 属性 org.newsclub.net.unix.library.path

我正在尝试执行的命令:

irb(main):015:0> java_import 'org.newsclub.net.unix.AFUNIXSocket'
irb(main):016:0> AFUNIXSocket.newInstance()

我在文件夹 lib 中有以下库: libjunixsocket-linux-1.5-amd64.so libjunixsocket-linux-1.5-i386.so.

是否可以在irb中指定库的路径,以便它可以获取库?任何可以解决上述问题的方法将不胜感激。

您可以在您的 jvm 服务器配置文件中指定 -J-Djava.library.path=$LD_LIBRARY_PATH。 这里 $LD_LIBRARY_PATH 应该包含你的本地库的路径。