Java 在哪里可以找到Mac OS的jni头

Java 在哪里可以找到Mac OS的jni头,java,macos,java-native-interface,Java,Macos,Java Native Interface,我不是问在我自己的电脑上哪里可以找到它,我是问在哪里可以找到它 我已经在谷歌上做了功课,但我没有在这些路径中找到标题。我的/System/Library/Java/JavaVirtualMachines/…中甚至没有标题文件夹。。。我在根目录下没有开发者文件夹 现在我很确定我没有安装这些标题,我检查了MacOS开发者网站,但我只发现了一些断开的链接 OpenJDK或SunJDK不应该在某处为MacOS提供jni.h头吗?/Applications/Xcode.app/Contents/Devel

我不是问在我自己的电脑上哪里可以找到它,我是问在哪里可以找到它

我已经在谷歌上做了功课,但我没有在这些路径中找到标题。我的/System/Library/Java/JavaVirtualMachines/…中甚至没有标题文件夹。。。我在根目录下没有开发者文件夹

现在我很确定我没有安装这些标题,我检查了MacOS开发者网站,但我只发现了一些断开的链接


OpenJDK或SunJDK不应该在某处为MacOS提供jni.h头吗?

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h

但这取决于您的环境。

在Mac OS X 10.8.5上,我使用“/System/Library/Frameworks/JavaVM.framework/Headers”,如:

  • jdk8下载网址:
  • 下载并安装

  • 检查java版本:
  • 3.查找“java”原始路径和“java_home”:

  • 获取“include”文件夹和jni.h

    现在您将在“/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home”中找到一个“include”文件夹, 打开它,就会找到“jni.h”


  • 您可以使用
    java\u home
    命令找到正确的位置。看

    例如,在makefile中,您可以有:

    JAVA_HOME:=`/usr/libexec/java_home`
    CPPFLAGS:=-I $(JAVA_HOME)/include -I $(JAVA_HOME)/include/darwin
    

    请注意,您还需要将
    $(JAVA\u HOME)/include/darwin
    添加到include路径中,以便它可以找到
    jni\u md.h
    ,这是机器特定的部分,被
    jni.h

    包含在其中。有什么问题吗?@manuell是的,这就是我获得JDK的地方。但是jni.h没有包含在mac-dmgun中幸运的是,没有Headers目录。我完全删除了JDK并重新安装,正如您所说,它就在那里。
    java version "1.6.0_65"
    Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
    Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
    
    sodino:~ sodino$ java -version 
    java version "1.8.0_45" 
    Java(TM) SE Runtime Environment (build 1.8.0_45-b14) 
    Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
    
    sodino:~ sodino$ which java
    /usr/bin/java
    sodino:~ sodino$ ls -n /usr/bin/java
    lrwxr-xr-x  1 0  0  74 Sep 30  2014 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
    sodino:~ sodino$/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home
    /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
    
    JAVA_HOME:=`/usr/libexec/java_home`
    CPPFLAGS:=-I $(JAVA_HOME)/include -I $(JAVA_HOME)/include/darwin