【问题标题】:Where to find jni_md.h on CentOS OpenJDK 1.8在 CentOS OpenJDK 1.8 上哪里可以找到 jni_md.h
【发布时间】:2017-11-19 13:06:01
【问题描述】:

我正在使用 JNI 构建一个 java 项目,并使用 native-maven-plugin 构建。

我能够在我的本地 MacOS 环境中成功编译和运行我的代码。但是,这也需要在 CentOS 环境中运行,所以我需要沿着我的 .jnilib 编译一个 .so 库。

我正在考虑将 jni_md.h 从 CentOS 环境复制到我的本地计算机,并将该头文件的路径提供给我本地计算机上的 CentOS 编译器。

但是,我在 CentOS 环境中找不到 jni_md.h。我使用 yum 安装了 OpenJDK 1.8,但其中没有包含 / 文件夹。

  • 在哪里可以找到 jni_md.h 的 linux 版本以在本地计算机上使用?
  • 额外问题:我的计划是否可行?有更好的方法吗?

【问题讨论】:

  • 根据我使用交叉编译器的经验,不值得这么麻烦。更容易在本地机器上运行 CentOS 虚拟机。你可以在那里安装你需要的一切(也许你在另一台机器上只安装了 OpenJDK JRE,这不包括标题)

标签: java maven centos java-native-interface


【解决方案1】:

此文件应位于此处

$JDK_HOME/include/linux

问题是,你为什么需要这个?你不能编译应该在 macOS 上的 CentOS 上运行的代码——这不起作用。和*.h 文件在这里无关。它们只是标题。

看这里:

http://jnicookbook.owsiak.org/recipe-No-001/

您可以在 macOS 和 Linux 上找到可以正常编译的示例项目。

您所要做的就是确保将JAVA_HOME 设置为指向您的JDK 安装。

享受 JNI 的乐趣!

【讨论】:

    猜你喜欢
    • 2016-07-28
    • 2019-11-30
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 2020-04-01
    • 1970-01-01
    相关资源
    最近更新 更多