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 去微 ...
随机推荐
- (转)javascript中的对象查找
本文转自:http://otakustay.com/object-lookup-in-javascript/ ---很棒的一篇文章,作者的其他文章还暂时没读,但相信作者是一个谦虚 谨慎的好工程师 近 ...
- 用Javascript取float型小数点
用Javascript取float型小数点后两位,例 var a = 12.2369826取成12.23,如何做?下面四种方法可用 (1) var str = a.substring(0,s. ...
- Win7 64位系统 VS2010连接Oracle报错的问题
1,异常现象: TNS无法识别 2,异常分析:VS2010启动调试的时候,出现异常.但是使用IIS作为服务器的时候,是不会出现异常,也就是可以正常访问到数据库,后来分析是由于VS自带服务器ASP.NE ...
- Python-实现对表插入百万条数据
新手小白写的,我自己都不知道对不对,先写下来记着,以后掌握更多Python知识后,再来看下写的对不对. 题目:造一百万条大学生的基本信息(学校.专业.姓名.学号) 分析思路:利用Python的MySQ ...
- 【BZOJ3504】危桥(最大流)
题意:见题面 思路:http://www.cnblogs.com/chenyushuo/p/5139556.html 必须交换b1,b2做第二次最大流的原因: 假如一个a1到b2的一个流和b1到a2的 ...
- mysql的一个特殊问题 you can't specify target table 'cpn_regist' for update in FROM clause
今天在操作数据库的时候遇到了一个问题,sql语句如下: UPDATE cpn_yogurt_registration SET dep1Name = '1' WHERE `key` in (SELEC ...
- sd_cms置顶新闻,背景颜色突击显示
维护之前的一个客户网站,使用的是sd_cms系统,因为好久没有维护了,看到这网站的时候,真不敢相信,自己也曾做出过这样的网站. 客户要求置顶新闻始终在最上面,有背景颜色突击显示. 找到对应的代码,修改 ...
- Asp.Net MVC4入门指南(1): 入门介绍
前言 本教程将为您讲解使用微软的Visual Studio Express 2012或Visual Web Developer 2010 Express Service Pack 1 来建立一个ASP ...
- 『BASH』——文件权限批量恢复脚本——「Permission Revovery」
一.恢复指定程序包所有文件的权限: #!/bin/bash #Assume that you have mounted a correct orignal-system on /mnt read -p ...
- IE下Debug BHO
主要就是修改注册表键值使IE不创建多个进程:HKLM\Software\Microsoft\Internet Explorer\Main - TabProcGrowth 但需要注意的是这种情况下,vs ...