如何使用IntelliJ IDEA创建jni头文件

我想在IntelliJ IDEA中创建head文件。我是这样做的:

文件>设置>工具>外部工具

然后我点击+,指定标题并设置参数如下:

程序: C:\程序文件\Java\jdk1.8.0_25\bin

参数: -d C:\Users\Administrator\Documents\Visual Studio 2013\Projects\JniExampleLibrary -jni Example.JniExample

工作目录:C:\程序文件\Java\jdk1.8.0_25\bin

但是在单击确定后,在上面用-d定义的路径中没有JniExample.h文件

你能告诉我它有什么问题吗?

提前致谢


答案 1

以下是我用于生成.h文件的IntelliJ IDEA设置:(这适用于IDEA版本12.1.6,可能在其他版本中类似)

  1. 文件>设置>外部工具
  2. 单击“编辑工具”对话框的 + 按钮
  3. 以下是我使用的表单名称/值对:
    • 名称: 爪哇
    • 组: 爪哇
    • 描述: Java 本机接口 C 标头和存根文件生成器
    • 选项:全部选中
    • 显示: 全部选中
    • 工具设置...
    • Program: $JDKPath$\bin\javah.exe
    • 参数: -jni -v -d $FileDir$ $FileClass$
    • 工作目录:$SourcepathEntry$
  4. 单击“确定”,单击“确定”
  5. 使用本机方法导航到 Java 类
  6. 在编辑器中显示 java 类后,转到 Tools->Java->javah
  7. 请注意在与类相同的目录中生成的 .h 文件。

答案 2

我正在使用Java 11(OpenJDK)进行编译,所以我没有可用的javah。

由于现在创建头文件的选项包含在javac中,因此我将其添加为编译器选项。

  1. 文件>设置>构建、执行、部署>编译器>Java 编译器
  2. 在“其他命令行参数”中添加:-h YourOutDir

(IntelliJ Community 2019.2,其他版本应该类似)

例:

-h C:/Development/Java/YourApp/cpp

我对IntelliJ的“-h $FileDir$”或其他宏命令没有任何运气。