gpt4 book ai didi

java.lang.UnsatisfiedLinkError : no in java. 库路径

转载 作者:行者123 更新时间:2023-11-30 07:20:45 25 4
gpt4 key购买 nike

问题

我一直在尝试在我自己的 Mac 上运行单元测试。测试在 Linux 服务器上运行良好,但在本地失败并显示以下跟踪:

java.lang.UnsatisfiedLinkError: no fedel_client in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
....

我尝试过的

从服务器复制.so文件

我已经将 fedel_client.so 从服务器复制到我本地计算机上的 /workspace/dapper/java/lib/native/macosx,并将其添加到java.library.path:

-Djava.library.path=/workspace/dapper/java/lib/native/macosx:...

创建符号链接(symbolic link)

我已经创建了一个从 fedel_clinetfedel_clinet.so 的符号链接(symbolic link),以防 Java 正在寻找前者(没有 .so > 扩展)。

.so目录添加到.bashrc

我尝试将 .so 目录添加到 PATH:

PATH=$PATH:/Users/adamatan/workspaces/trunk/dapper/java/lib/native/macosx

然后到 LD_LIBRARY_PATH:

export LD_LIBRARY_PATH="/Users/adamatan/workspaces/trunk/dapper/java/lib/native/macosx"

打印java.library.path

我打印了 java.library.path,以查看 Eclipse 环境中的更改是否已传播到 JVM:

System.out.println(System.getProperty("java.library.path"));

得到:

/workspace/dapper/java/lib/native/macosx:....

我在 Eclipse 配置中放置的确切值。

调试思路?

我在上述所有解决方案中都遇到了完全相同的错误。知道如何调试这个问题吗?我可以从 Java 获得更详细的错误消息吗?文件未找到或未加载?如果没有加载,那是为什么?

最佳答案

我可能没看懂你的意思,但听起来你已经将本地库 (libfedel_client.so) 从 Linux 服务器复制到你自己的 Mac。如果是这样的话,这肯定行不通。您不能在 Mac 上使用 Linux native 库,您需要在 Mac 上重新编译它以生成 libfedel_client.dylib

根据您使用的 Apple Java 运行时版本,您可能需要使用 .jnilib 扩展。早期的运行时使用 .jnilib 扩展而不是 .dylib,并且这两个扩展仍然受支持(虽然 .dylib 现在是默认的。)

关于java.lang.UnsatisfiedLinkError : no <LIBRARY> in java. 库路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13787849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com