您的位置:首页 > 编程语言 > Java开发

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

2012-04-24 02:37 393 查看
错误提示如下:

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为"%J***A_HOME%\bin"

ClassPath设置为".;%J***A_HOME%\lib"

J***A_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% 终于生成了!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐