Javah 使用时报错:找不到类
2013-05-28 17:11
330 查看
初学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
package mwic32;
public class Main {
/**
*
* @param CommPort 串口端口
* @return
*/
public native String GetICSN(int CommPort);
static
{
System.loadLibrary("MwIc32.dll");
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
}
假如项目目录是:F:/_WorkSpace_/NetBeansProjects,那么编译后生成的class文件会位于F:/_WorkSpace_/NetBeansProjects/MwIC32/build/classes/mwic32
现在希望用JAVAH生成头文件。
javah -classpath F:/_WorkSpace_/NetBeansProjects/MwIC32/build/classes mwic32.Main
也就是说,指定类的路径时,应该以包所在路径为准,而不是具体类所在的子目录
注:放在包里面的类和方在默认包里面的类,javah生成的.h文件是不一样的,函数名称含有包的路径,所以不同包的类不可以公用.h文件。
看了javah的help,本来是很简单的,但是由于自己概念含糊,所以出错。
javah的命令行帮助:
用法:javah [选项] <类>
其中 [选项] 包括:
-help 输出此帮助消息并退出
-classpath <路径> 用于装入类的路径
-bootclasspath <路径> 用于装入引导类的路径
-d <目录> 输出目录
-o <文件> 输出文件(只能使用 -d 或 -o 中的一个)
-jni 生成 JNI样式的头文件(默认)
-version 输出版本信息
-verbose 启用详细输出
-force 始终写入输出文件
使用全限定名称指定 <类>(例
如,java.lang.Object)。
假如有这样的类:
[java] view
plaincopy
package mwic32;
public class Main {
/**
*
* @param CommPort 串口端口
* @return
*/
public native String GetICSN(int CommPort);
static
{
System.loadLibrary("MwIc32.dll");
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
}
假如项目目录是:F:/_WorkSpace_/NetBeansProjects,那么编译后生成的class文件会位于F:/_WorkSpace_/NetBeansProjects/MwIC32/build/classes/mwic32
现在希望用JAVAH生成头文件。
javah -classpath F:/_WorkSpace_/NetBeansProjects/MwIC32/build/classes mwic32.Main
也就是说,指定类的路径时,应该以包所在路径为准,而不是具体类所在的子目录
注:放在包里面的类和方在默认包里面的类,javah生成的.h文件是不一样的,函数名称含有包的路径,所以不同包的类不可以公用.h文件。
相关文章推荐
- Javah 使用时报错:找不到类
- Javah 使用时报错:找不到类
- Javah 使用时报错:找不到类
- Oracle11g x64使用Oracle SQL Developer报错:Unable to find a Java Virtual Machine
- 使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- java web 项目 ssh框架使用中的 ClassNotFoundException 异常【找不到**Action】
- 在 CMD下使用java运行类出现“找不到或无法加载主类”
- 使用java命令运行class文件提示“错误:找不到或无法加载主类“
- cocos2d使用jni调用java代码时报jni.h找不到错误
- mac下使用java命令直接执行类文件(找不到或无法加载主类)
- 使用eclipse运行项目报错,找不到类的问题
- java学习——使用Eclipse进行单元测试,报错Can't allocate jvmti memory
- 使用javah 命令 报找不到 类文件
- Java和Javac的使用时总提示找不到类模块的解决方案
- 关于使用Intellij Idea时java系统找不到指定文件的解决方案
- Java使用StringBuilder时--找不到符号
- Java使用java命令运行程序出现:找不到主类错误
- SpringBoot在使用通用Mapper的时候,找不到实体类报的错误是java.lang.ClassCastException
- java web 使用jdbc 链接sql server 2008找不到驱动类的问题
- 使用POI操作Excel时new XSSFWorkbook ()报错java.lang.NoSuchMethodError解决方式