Java 在哪里可以找到Mac OS的jni头
我不是问在我自己的电脑上哪里可以找到它,我是问在哪里可以找到它 我已经在谷歌上做了功课,但我没有在这些路径中找到标题。我的/System/Library/Java/JavaVirtualMachines/…中甚至没有标题文件夹。。。我在根目录下没有开发者文件夹 现在我很确定我没有安装这些标题,我检查了MacOS开发者网站,但我只发现了一些断开的链接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
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”,如:
您可以使用
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