使用javah生成.h文件出现无法访问的错误

234 篇文章 1 订阅
71 篇文章 0 订阅

错误提示如下:

E:\JavaDLL>javah -jni OnlineDLL.java
错误:无法访问 OnlineDLL.java
未找到 OnlineDLL.java 的类文件
javadoc: 错误 - 找不到类 OnlineDLL.java。
Error: 未在命令行中指定任何类。请尝试使用 -help。

E:\JavaDLL>javah -jni OnlineDLL
java.lang.VerifyError: (class: com/sun/tools/javac/comp/Enter, method: visitClas
sDef signature: (Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V) Illegal type i
n constant pool
        at com.sun.tools.javadoc.JavadocTool.make0(JavadocTool.java:75)
        at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:322)
        at com.sun.tools.javadoc.Start.begin(Start.java:128)
        at com.sun.tools.javadoc.Main.execute(Main.java:66)
        at com.sun.tools.javah.Main.main(Main.java:147)
javadoc: 错误 - 致命错误
1 错误

原因:环境变量的设置不正确,在MyEclipse环境中编译是不需要设置环境变量的,但是直接使用命令时需要设置,正确设置如下:

path为"%JAVA_HOME%\bin"
ClassPath设置为".;%JAVA_HOME%\lib"
JAVA_HOME为"E:\Program Files\Java\jdk1.6.0_13" (JDK的安装路径)

另外:需要先编译,后生成头文件:
javac clsName.java
javah clsName

当.java文件中包含PACKAGE信息时:
javac定位到文件所在目录下:javac clsName.java,或定位到域名的上一级目录下:javac www\domain\com\clsName.java,.class文件创建到与.java文件相同的目录下。
javah定位到域名的上一级目录下:javah -jni www.domain.com.clsName,.h文件创建到域名的上一级目录下。



转贴:http://hi.baidu.com/sonmeika/blog/item/2bb91f87fdb32b23c75cc352.html

今天下午使用javah生成一个头文件,是死活生成不了, 就是在路径D:\java\eclipseworkspace\Test\bin写javah的,还老是出现报错的情况错误:

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

结果我是上网搜集了一下资料,我是又把我的java,path,classpath路径检查了一下,又是实验了java 、javac等命令,可这些都没有错误,到最后在网上找到一个高手,结果一实验果然是我的classpath 有问题,重新设置一下classpath:    set classpath=.;%classpath% 终于生成了!!


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值