java - 使用javah创建.h文件,出现错误 "Could not find class file for NativeDemo"

标签 java

我研究了几个与这个问题类似的例子,但我还没有找到一个可以解决我的问题的例子。我只是尝试使用 native 方法执行我的第一个程序。我没有将程序存储在包的层次结构中,因为我试图在第一个示例中使其尽可能简单。以下是所有内容的存储方式:

我有一个名为 NativeDemo 的类。它存储在C:/JavaFiles/demo/中。我编译了该程序,并将 .class 文件存储在同一文件夹中。当我尝试在此程序上调用 javah 命令时,它告诉我找不到类文件。你能告诉我我做错了什么吗?

我的javah命令存储在我的JDK中,存储位置如下:C:/jdk1.0.7_04/bin/

在命令提示符的命令行上,我键入:

C:\JavaFiles\demo>C:\jdk1.7.0_04\bin\javah -jni NativeDemo 还尝试了 C:\JavaFiles\demo>C:\jdk1.7.0_04\bin\javah.exe -jni NativeDemo

当我这样做时,它告诉我找不到类文件。这与编译时使用的路径相同,它找到文件、编译并创建 .class 文件,没有任何问题。

请帮忙。谢谢。

最佳答案

您可能需要在命令行上向 javah 提供 -classpath 参数。设置类路径。 (javah-classpath 参数的行为与其他 Java 工具的行为相同;例如 java、javac、javap 等。如果您不了解类路径,阅读 this pagethis page 。)

关于java - 使用javah创建.h文件,出现错误 "Could not find class file for NativeDemo",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11270926/

相关文章:

java - OSGI - Hibernate + JBoss Seam

java - 处理网络(URL、连接等)时要捕获哪些未经检查的异常?

java.lang.IllegalStateException : Only fullscreen opaque activities can request orientation

java - 使用java线程编写一个程序来打印以下序列2 3 4 6 6 9 8 12 10(序列中2和3的倍数)

java - Vert.x Json.decodeValue 列表

java - 如何在桌面应用程序的 pom.xml 中仅配置一次 <manifest>

java - 在 SSL 握手中,如果服务器发送带有空 'Cert Authorities' 列表的 CertificateRequest,我们能否让客户端发送证书

java - 如何以编程方式启动 apache derby jar 文件?

Java错误未能为jnidispatch库创建临时文件

java - 如何从 AEM 读取二进制文件?