javah生成jni头文件

这几天自己一直在琢磨使用java 读取dll 文件(专业词汇我不会说,好像是说java 动态读取本地库什么的),在网上搜索了一些资料,和示例代码,按照要求去的时候,在用javah 命令的时候,总是提示下面的错误: 


       错误: 无法访问 net.test.TestDll
       找不到文件 net.estTestDll.class
       javadoc: 错误 - 找不到类 net.test.TestDll。
       Error: 未在命令行中指定任何类。请尝试使用 -help。

 

然后看见网上有很多人也遇到这样的问题,帮助解决的人,也很多,可是我即使按照帮助提供的解决方式还是不行,后来,经过再三努力,终于发现问题原因所在,原来别人提示:

      在编译生成class文件后,要在 包的上一级目录下,执行命令:javah -classpath  . -jni packagename.classname

     比如,我使用的时候Eclipse 开发工具, 目录为上面的  D:workspace,在里面新建的web工程,名字叫testIDCard ,因为是建的web 工程,所以下面的目录符合web工程规范,即 有这样的目录结构

     WebRootWEB-INFclasses>

下面的 net.test 是我放置class文件的包名,好的,我把我的正确执行命令的 语句粘出来:

D:/workspace/testIDCard/WebRoot/WEB-INF/classes>javah -classpath . -jni net.test.TestDll

大家可能注意不到,在 -classpath 和-jni 之间有一个 点(.) 而且之间是需要空格的,也就是说在写完-classpath命令后 ,空格 ,点 然后 -jni (这个命令可以不写,默认的),执行正常。

    生成的 .h 文件位置在:

    D:/workspace/testIDCard/WebRoot/WEB-INF/classes

       我耽误时间也就是在这个 点  上,网上给的都没有强调这个点,而且后面要有空格,我写出来,一个是给自己以后的提醒,我害怕自己长时间如果不用的话,会忘记,另一个是希望能对网络上的朋友有所帮助,当然,你如果没有遇到我这样的问题,或者说明你比我厉害,或者说,你很幸运。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值