如何以编程方式设置java中动态库的加载路径?

发布于 2024-09-26 19:07:29 字数 273 浏览 3 评论 0原文

System.setProperty("java.library.path", "pathToLibs");

不起作用,因为“java.library.path”似乎是只读的,或者 JVM 只是忽略该属性。

我知道可以通过设置 PATH(在 Windows 中)、LD_LIBRARY_PATH(在 POSIX 中)或仅使用命令 java -Djava.library.path=your_path 来完成。

但是有没有一种编程方法可以做到这一点?

System.setProperty("java.library.path", "pathToLibs");

doesn't work because it seems either "java.library.path" is read only or JVM just ignores the property.

I know it can be done by setting PATH(in windows), LD_LIBRARY_PATH(in POSIX) or just use the command java -Djava.library.path=your_path.

But is there a programming way of doing this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

熊抱啵儿 2024-10-03 19:07:29

java.library.path 在 VM 启动时进行评估,因此稍后更改它不会对加载本机库产生任何影响。但是,您可以使用 System.load(String filename); 指定要加载的本机库的完整路径,也许与 System.mapLibraryName(String) 一起使用添加特定于平台的文件结尾(例如.dll 或.so)。

java.library.path is evaluated when the VM starts, so changing it later does not have any effect on loading native libraries. You can however use System.load(String filename); to specify the complete path to the native library you want to load, perhaps together with System.mapLibraryName(String) to add the platform specific file ending (e.g. .dll or .so).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文