我正在构建一个使用本机 libxxxx.so 文件的JAR文件(在Linux服务器上运行)。我可以将 .so 文件放在任何位置并使用 -Djava.library.path 选项传递其位置。
现在,我可以将 .so 文件包含在 jar 中,这样我就不必将其复制到某个位置并在运行 jar 时包含其位置吗?
最终,
您必须将其从罐子中解开包装并将其存储在某个地方,然后系统才能使用它。 Java Web Start 支持交付本机库,但即使是该系统也需要它将本机库从其交付 jar 文件中复制到临时位置。
JNA 支持从资源路径中的任何位置嵌入和解压缩共享库(通常是 jar 文件,但Class.getResource()
可以访问的任何位置都可以)。