2017-06-16 61 views
0

我正在使用JNI构建一个java项目,并使用native-maven-plugin构建。哪里可以在CentOS上找到jni_md.h OpenJDK 1.8

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

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

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

  • 在哪里可以找到我的本地机器上使用的linux版本的jni_md.h?
  • 奖金问题:我的计划是否可以发挥作用,还有更好的方法来做到这一点吗?
+0

根据我的经验,使用交叉编译器是不值得的麻烦。更容易在本地机器上运行CentOS虚拟机。你可以在那里安装你需要的所有东西(也许你只在另一台机器上安装了OpenJDK JRE,这不包括头文件) – user2543253

回答

0

该文件应设在这里

$JDK_HOME/include/linux 

的问题是,为什么还需要这个吗?你不能编译应该在macOS上的CentOS上运行的代码 - 这是行不通的。和*.h文件在这里没有任何关系。他们只是标题。

到这里看看:

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

你可以发现有一个示例项目,将编译就好了,在MacOS和Linux操作系统。

您只需确保将其设置为指向您的JDK安装的JAVA_HOME即可。

与JNI玩得开心!