我正在使用JNI构建一个java项目,并使用native-maven-plugin构建。
我能够在本地MacOS环境中成功编译和运行我的代码。但是,这也需要在CentOS环境中运行,因此我需要在.jnilib上编译.so库。
我正在考虑将jni_md.h从CentOS环境复制到本地计算机,并将该头文件的路径提供给本地计算机上的CentOS编译器。
但是,我在CentOS环境中找不到jni_md.h。我使用yum安装了OpenJDK 1.8,但我没有得到一个include /文件夹。
答案 0 :(得分:0)
此文件应位于此处
$JDK_HOME/include/linux
问题是,你为什么需要这个?您无法编译应该在macOS上运行CentOS的代码 - 这不起作用。而*.h
文件在这里无关。它们只是标题。
看看这里:
http://jnicookbook.owsiak.org/recipe-No-001/
你可以找到一个可以在macOS和Linux上编译得很好的示例项目。
您所要做的就是确保将JAVA_HOME
设置为指向JDK安装的方式。
与JNI玩得开心!