用Java开发了web service,web service调用c++写的COM,这样就需要用javah命令把Java的类生成c++的头文件,在生成.h文件时在网上找了N多方法没有生成,最终找到可用方法:
C:\Users\Administrator>javah-jni -classpath D:\Javaworkspace\NxMediaFileWebService\bin -dD:\ -jni com.CNxMediaFileInfo; 在D盘生成了com_CNxMediaFileInfo.h。
解释:
-classpath <路径> 用于装入类的路径
-d <目录> 输出目录
-jni 生成 JNI样式的头文件(默认)
注意到以上我们命令中指定的路径
注意到我们的命令符的执行位置是class所在目录“D:\Javaworkspace\NxMediaFileWebService\bin”
-classpath 后面的路径是指包”com.example.myclass”所在的根路径(如下图所示)
-jni 后面的路径是包名+类名
注:2016/12/29日测试,又搞了好久写的不细啊,再说明下:
class文件路径如下:D:\CODE\NxSlaveWebService\src\com\CNxSlaveOperator.java ,不是.class的路径是.java的路径;
可执行命令如下:D:\CODE\NxSlaveWebService\bin>javah -jni -classpath D:\CODE\NxSlaveWebService\src -d D:\ -jni com.CNxSlaveOperator, 对应好文件目录,到src目录下;生成的文件在d盘下。
参考网址:http://www.cnblogs.com/kissazi2/p/3298884.html