【发布时间】:2012-04-13 23:39:11
【问题描述】:
我正在使用 Eclipse 生成 JNI 头文件。我查看了program files\java\jre6\bin,发现了很多 .exe 和 .dll 文件,但是我找不到使用文档中的命令javah JNI 创建与 C 库的绑定。
有什么帮助吗?
【问题讨论】:
标签: java c eclipse header java-native-interface
我正在使用 Eclipse 生成 JNI 头文件。我查看了program files\java\jre6\bin,发现了很多 .exe 和 .dll 文件,但是我找不到使用文档中的命令javah JNI 创建与 C 库的绑定。
有什么帮助吗?
【问题讨论】:
标签: java c eclipse header java-native-interface
使用以下面板为 javah.exe 定义一个新的外部工具。
将“位置”指向 javah.exe 工具。
将“工作目录”设置为
${workspace_loc:/${project_name}/bin}
将“参数”设置为:
-classpath ${project_classpath} -v -d ${workspace_loc:/${project_name}/src} ${java_type_name}
要运行该工具,请在包资源管理器中突出显示 java 源文件并运行该工具。
按 F5 刷新项目以查看新生成的文件。
【讨论】:
只是一些信息......
不幸的是,上面的解决方案对我没有用,但是这个线程中的解决方案可以:
Using javah -jni with an Eclipse project structure
通过上述论点,我得到:
Exception in thread "main" java.lang.IllegalArgumentException:
Not a valid class name:path/to/project
我发现问题是我的项目路径中的空格字符。将路径括在引号中确实有助于上述解决方案。
【讨论】:
位置
// javah.exe路径
C:\Program Files\Java\jdk1.7.0_79\bin\javah.exe
工作目录
${workspace_loc:/${project_name}/bin}
参数
-classpath ${project_classpath} -v -d ${workspace_loc:/${project_name}/jni} ${java_type_name}
打开 java 类并运行工具
【讨论】: