2017-06-16 58 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玩得開心!