默认情况下在哪里安装本地 Java 库?

发布于 2024-07-11 13:40:22 字数 517 浏览 7 评论 0原文

我正在将 JNI 绑定与 C++ 库集成。

该库遵循通常的约定:默认安装根目录是 /usr/local ,可以使用 ./configure--prefix 参数进行修改代码>; .a.so 文件位于 ${prefix}/lib 中; 。

JNI 绑定生成两个新库,libfoojni.so(本机部分)和 libfoo.jar(Java 部分)

在这种方案下,放置这些文件的常规位置是什么(例如${prefix}/java)?

是否最好允许用户提供单独的 Java 根目录(例如,/usr/share/java)?

libfoojni.so 应该放在 ${prefix}/lib 中还是某个 Java 特定的子目录中?

I'm integrating JNI bindings with a C++ library.

The library follows the usual conventions: the installation root is /usr/local by default and can be modified with the --prefix argument to ./configure; the .a or .so files go in ${prefix}/lib; etc.

The JNI binding produces two new libraries, libfoojni.so (the native part) and libfoo.jar (the Java part).

Under this scheme, what is conventional place to put these files (e.g. ${prefix}/java)?

Is it preferable to allow the user to supply a separate Java root directory (e.g., /usr/share/java)?

Should libfoojni.so go in ${prefix}/lib or in some Java-specific sub-directory?

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

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

发布评论

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

评论(1

荒人说梦 2024-07-18 13:40:22

当我过去在 Linux 上完成 JNI 时,我将 .so 文件与应用程序捆绑在 JNI 库的特定目录中。 然后将其添加到运行应用程序的 JVM 实例的 LD_LIBRARY_PATH 环境变量中。

所以我想说,这方面并没有真正的约定(除了用于系统范围内容的 Linux lib 目录之外)。

希望有帮助。

When I've done JNI in the past on Linux, I've bundled the .so files with the application in a specific directory for JNI libraries. Then add this to the LD_LIBRARY_PATH environment variable for the JVM instance running the application.

So I would say that there isn't really a convention on this (besides the Linux lib directories for system wide stuff).

Hope that helps.

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