Javah提示未找到 ..的类文件
D:\我的文档\workspace\PrepareForExam\src>javah -classpath D:\我的文档\workspace\
PrepareForExam\src\com\example\myclass -d d:/ -jni com.example.myclass.jni_test
错误:无法访问 com.example.myclass.jni_test
未找到 com.example.myclass.jni_test 的类文件
javadoc: 错误 - 找不到类 com.example.myclass.jni_test。
Error: 未在命令行中指定任何类。请尝试使用 -help。
本来想用javah生成java调用C语言用的头文件的,没想到使用上一直受挫。在这里简单地介绍以下javah的使用
假设我们已经有了这个类,准备用它生成调用C语言的头文件。另外,这个Java文件是在路径“D:\我的文档\workspace\PrepareForExam\scr”下,包“package com.example.myclass;”中的
package com.example.myclass;
public class jni_test {
private native final void init();
private native final void init2(int a,int b);
}
1、首先我们要编译一下这个类,以便得到类对应的*.class
为了偷懒,给这个类直接添上一个main方法,将这类作为运行一下(如下图所示)。这样子我们就得到了jni_test对应的class文件,在路径“D:\我的文档\workspace\PrepareForExam\bin\com\example\myclass”下。

2、我们要开始写javah的命令,以便生成对应的C语言头文件
D:\我的文档\workspace\PrepareForExam\src>javah -classpath D:\我的文档\workspace\PrepareForExam\bin -d d:/ -jni
com.example.myclass.jni_test
其中java中各个命令的意思是
-d <目录> 输出目录
-jni 生成 JNI样式的头文件(默认)
注意到以上我们命令中指定的路径
注意到我们的命令符的执行位置是源代码目录”D:\我的文档\workspace\PrepareForExam\src”
-classpath 后面的路径是指包”com.example.myclass”所在的根路径(如下图所示)

-jni 后面的路径是包名+类名
3、最终输出的C语言头文件
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_example_myclass_jni_test */ #ifndef _Included_com_example_myclass_jni_test
#define _Included_com_example_myclass_jni_test
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_example_myclass_jni_test
* Method: init
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_com_example_myclass_jni_1test_init
(JNIEnv *, jobject); /*
* Class: com_example_myclass_jni_test
* Method: init2
* Signature: (II)V
*/
JNIEXPORT void JNICALL Java_com_example_myclass_jni_1test_init2
(JNIEnv *, jobject, jint, jint); #ifdef __cplusplus
}
#endif
#endif
Javah提示未找到 ..的类文件的更多相关文章
- Javah提示未找到 ..的类
Javah相关错误,如下图所示:
- oracle 安装提示未找到文件安装
安装oracle 过程中提示未找到文件 E:\app\xxj\product\11.2.0\dbhome_1\owb\external\oc4j_applications\applications\W ...
- CentOS 7 使用unzip解压zip文件提示未找到命令的解决方法
故障现象: 解决方法: 如果你使用unzip命令解压.zip文件,提示未找到命令,可能是你没有安装unzip软件,下面是安装方法 [root@localhost www]# yum install - ...
- ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案
摘要: ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案 在struts2应用中使用ueditor富文本编辑器上传图片或者附件时,即使配置 ...
- VS Code 提示‘未找到Git。请安装Git,或在“git.path”设置中配置’
一.情况说明 1.描述 从Git上克隆出代码,用vscode打开项目提示“未找到Git.请安装Git,或在“git.path”设置中配置” 2.截图 二.报错原因 .没有安装Git .没有设置Git路 ...
- oracle select into 的时候提示未找到数据
); begin '; --在select into 后面添加exception 错误处理机制 exception when no_data_found then version:= 'hhh '; ...
- Ubuntu、Windows输入命令appium-doctor提示未找到命令
输入命令:appium-doctor时,一直报错,提示“未找到命令”,但是输入命令:appium -v能够正确输出我安装版本,这是怎么回事呢? 原来appiu-doctor在1.5.3版本之后没有了需 ...
- 安装的SQL Server2008 R2版的连接不到本地数据,提示未找到或无法访问服务器。----复制自百度知道
安装的SQL Server2008 R2版的连接不到本地数据,提示未找到或无法访问服务器.使用Windows身份验证 2012-09-17 00:23hj168926 | 分类:数据库DB | 浏览3 ...
- VS2012 提示未找到与约束 ContractName 匹配的倒出
问题描述: 今天由于开发需要,我安装了一下 Vs 2015 按照之后 打开原来的项目 vs2012 打开,点击类文件提示错误 未找到与约束 ContractName 匹配的倒出 解决办法: 1 去微 ...
随机推荐
- ComboBox的数据绑定
这里的ComboBox指System.Windows.Forms中的ComboBox. 使用对象数据源 IList<Model> models = ModelService.GetAllM ...
- Mysql 存储过程基本语法
delimiter //一般情况下MYSQL以:结尾表示确认输入并执行语句,但在存储过程中:不是表示结束,因此可以用该命令将:号改为//表示确认输入并执行. 一.创建存储过程 1.基本语法: crea ...
- ---ps 命令
ps 的命令真复杂啊! 值得注意的是选项的 -e e 这两个是不同的 -e的选项和x的意思相当 而e 的意思是改变显示栏目内容了 我个人用单字母的比较多 ps f -eo pid,uid,gid,us ...
- cursor
BeginWaitCursor(); // display the hourglass cursor // do some lengthy processing Sleep(3000); EndWai ...
- Unix网络编程 -- ubuntu下搭建编译环境( 解决unp.h 编译等问题)
1.安装编译器,安装build-essential sudo apt-get install build-essential 2.下载本书的头文件 下载unpv13e http://ishare.i ...
- machine learning----->有监督学习和无监督学习的区别
1.有监督学习和无监督学习的区别: 1.1概述: 有监督学习是知道变量值(数据集)和结果(已知结果/函数值),但是不知道函数样式(函数表达式)的情况下通过machine learning(ML)获得正 ...
- R6010 - abort() has been called 错误
今天修改了下程序,发布到服务器上进行测试,结果在测试的时候弹出下面的一个框: 找了N久,发现了原因,差点呗自己弄哭了.. 程序里写了下面这句代码,没有注释掉.
- AngularJS学习--- 动画操作 (Applying Animations) ngAnimate step 12
1.切换目录 git checkout step-12 npm start 2.效果图 这里在点击右边的缩略图时,会有一个很明显的从下向上的动画过程. 3.代码实现: step11和step12之间的 ...
- js关闭浏览器的tab页(兼容)
由于在脚本中使用了 window.close(), 当前非弹出窗口在最新版本的chrome和firefox里总是不能关闭,而在 IE中是可以关闭的 . 在console中弹出提示"Scrip ...
- MFC下无法为空间添加变量解决
许久不用MFC,今天在vs2008下用MFC写个小东西,结果在为控件添加变量的时候,居然无法成功——那个界面显示怪怪的,点击完成提示失败. 还好同事遇到过这个问题,给出链接http://hi.b ...