Javah 使用时报错:找不到类

来源:互联网 发布:怎样查电脑mac地址 编辑:程序博客网 时间:2024/06/06 00:29

转自:http://blog.csdn.net/beroy/article/details/4155482

初学java,想使用JNI,在用javah生成头文件时,总是报错找不到类;

看了javah的help,本来是很简单的,但是由于自己概念含糊,所以出错。

javah的命令行帮助:

 


 

 


用法:javah [选项] <类>

其中 [选项] 包括:

        -help                                    输出此帮助消息并退出
        -classpath <路径>                用于装入类的路径
        -bootclasspath <路径>         用于装入引导类的路径
        -d <目录>                             输出目录
        -o <文件>                             输出文件(只能使用 -d 或 -o 中的一个)
        -jni                                       生成 JNI样式的头文件(默认)
        -version                               输出版本信息
        -verbose                              启用详细输出
        -force                                   始终写入输出文件

使用全限定名称指定 <类>(例
如,java.lang.Object)。


 

 

假如有这样的类:

 

[java] view plaincopy
  1. package mwic32;  
  2. public class Main {  
  3.     /** 
  4.      * 
  5.      * @param CommPort 串口端口 
  6.      * @return 
  7.      */  
  8.     public native String GetICSN(int CommPort);  
  9.     static  
  10.     {  
  11.         System.loadLibrary("MwIc32.dll");  
  12.     }  
  13.     /** 
  14.      * @param args the command line arguments 
  15.      */  
  16.     public static void main(String[] args) {  
  17.         // TODO code application logic here  
  18.     }  
  19. }  

 

假如项目目录是:F:/_WorkSpace_/NetBeansProjects,那么编译后生成的class文件会位于F:/_WorkSpace_/NetBeansProjects/MwIC32/build/classes/mwic32
现在希望用JAVAH生成头文件。

javah  -classpath F:/_WorkSpace_/NetBeansProjects/MwIC32/build/classes mwic32.Main

也就是说,指定类的路径时,应该以包所在路径为准,而不是具体类所在的子目录


0 0
原创粉丝点击