gpt4 book ai didi

java - JNA 库路径似乎被忽略

转载 作者:太空宇宙 更新时间:2023-11-04 13:01:47 26 4
gpt4 key购买 nike

我正在尝试为 C++ 库在 Linux 上指定 JNA 的库加载路径。在 java 文档中,我在调用我的程序时使用了 -Djna.library.path 但 JNA 无法加载该库。

我是这样称呼这个程序的:

java -jar -Djna.library.path=/home/lib program.jar

当我使用 -Djna.debug_load=true 时,我可以看到库路径和 JNA 试图找到库,路径是正确的,库名也是正确的,但它不是加载。 JNA 继续搜索库的资源路径,然后找不到它。

当我将库放在当前目录(与 program.jar 相同级别)时,JNA 很高兴并且库加载没有问题。

当我使用时:

java -cp program.jar:/home/lib package.program

JNA 还会加载正确的库。

这里有人知道为什么 -Djna.library.path 不起作用吗?是因为我使用的是带有 list 的 jar 应用程序文件吗?

谁有类似的问题?

最佳答案

请注意,一旦您离开 JVM,jna.library.path 或 java.library.path 将不再被考虑在内。

确保设置 LD_LIBRARY_PATH,使其指向 libshared.so 所在的位置。

更新:

在这里查看如何使用共享库中的代码:

https://github.com/mkowsiak/jnicookbook/blob/master/recipes/recipeNo023

关于java - JNA 库路径似乎被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43871216/

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