JNI之javah使用时报错:找不到类文件

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

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

javah的命令行帮助:

 

用法:javah [选项] <类>其中 [选项] 包括:        

-help                                    输出此帮助消息并退出       

 -classpath <路径>                用于装入类的路径       

 -bootclasspath <路径>         用于装入引导类的路径        

-d <目录>                             输出目录       

 -o <文件>                             输出文件(只能使用 -d 或 -o 中的一个)        

-jni                                       生成 JNI样式的头文件(默认)        

扫描二维码关注公众号,回复: 288786 查看本文章

-version                               输出版本信息        

-verbose                              启用详细输出       

 -force                                   始终写入输出文件使用全限定名称指定 <类>(例如,java.lang.Object)。

 

 

假如有这样的类:

  1. package mwic32;  
  • public

 

class Main {  

  •     
  •     public native String GetICSN( int CommPort);  
  •     static

    {  

  •         System.loadLibrary("MwIc32.dll");  
  •     }  
  •     

      

    •     public static void main(String[] args) 
    •     {  
    •         // TODO code application logic here

         }  

    • }  

     

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

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

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

猜你喜欢

转载自blog.csdn.net/yoyofu007/article/details/80236155