问题标签 [javah]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1858 浏览

eclipse - Eclipse 中的“无法加载 javah”错误

我正在尝试在 Eclipse 的 ant 构建文件中使用 javah 任务,但我不断收到以下错误:

构建失败

C:\sandbox\build-jni.xml:7: 无法加载 javah

这是我的 build-jni.xml 文件:

关于我为什么会收到该错误的任何想法?我的项目指向 JDK 而不是 JRE

0 投票
1 回答
1200 浏览

ant - 在 Eclipse Indigo 中使用 ANT 时出现 javah NullPointerException

我正在使用这样的 ANT buildscript:

它通过 clean、init 和编译就好了,但是在 generate-jni 我收到以下错误:

有人知道我做错了什么吗?

0 投票
2 回答
3886 浏览

eclipse - Javah:所选资源未解析为 Java 元素

我正在尝试使用eclipse中的 javah 从 Java 类创建 JNI 标头。我使用以下配置在外部工具(运行-> 外部工具-> 外部工具配置)中创建了一个程序:
位置${env_var:JAVA_HOME}\bin\javah.exe
工作目录${workspace_loc:/MyProject/bin/classes}
参数-jni -verbose -d "${project_loc}${system_property:file.separator}jni" ${java_type_name}
但是当我运行它时,会发生此错误:

我该如何解决这个错误?
谢谢!

0 投票
1 回答
3885 浏览

android - 在jni文件夹android中生成文件的最简单方法

我想知道是否有一种方法可以比这样的命令更容易地在 jni 文件夹中生成 .h 文件

我的意思是我想自动化这一步,所以我只需要写

然后eclipse会为我生成jni文件夹中的.h文件

我怎样才能做到这一点 ?

0 投票
1 回答
1960 浏览

android - NDK javah 失败:类文件的版本错误 50.0,应该是 49.0

我查看了有关javah失败的各种帖子,但我没有发现任何与此错误有关的信息:

我在 Internet 上能找到的最接近的信息是 http://yonghoon.wikidot.com/ndk#toc4

JVM 的每个新版本都会增加类文件的版本号。下面的列表显示了我知道 Java 6 的类版本号:50.0 版 Java 5 (1.5):49.0 版 Java 1.4.2:48.0 版

我不明白我使用的是 1.6,Eclipse 设置为 JDK 合规性 1.6,我从 /usr/lib/jvm/java-6-sun/jdk1.6.0_31/bin/javah 文件夹运行 javah。

/usr/lib/jvm/java-6-sun/jdk1.6.0_31/bin/javah -classpath bin/classes -jni com.acme.ndktest.Sample

当我使用 1.6 时,我不确定为什么它说应该是 49。

更多信息 javac -version -> javac 1.6.0_31 javap -v -classpath bin/classes com.acme.ndktest.Sample | grep 版本次要版本:0,主要版本:50

在 /etc/alternatives 中,大多数 java 项目都指向 java-6-sun,如 java 和 javac 但 javaws 指向 java-6-openjdk-amd64

我正在运行 Eclipse 3.7 Ant 是否与构建这些标头有任何关系

0 投票
1 回答
550 浏览

java - 生成 JNI 标头时让 javah 忽略内部类?

正是标题所说的。

我有一个声明某些native方法的类,但也有几个内部类。该javah实用程序坚持为内部类生成单独的标头,即使它们没有任何native方法声明。有没有办法强制javah停止这样做(注释,秘密命令行开关,任何东西)?

0 投票
0 回答
840 浏览

maven - 如何配置 m2e/Maven 来生成 JNI/C++ 类?

简短概述:

  1. 我的情况
  2. 我想要的是
  3. 到目前为止我做了什么

1.我的情况:

在我的公司,我们使用一个名为 Proxess 的文档归档软件。该软件提供了几个 API / 接口与之交互。唯一的缺点是它们都是面向 C(++) / .NET 的。没有对 Java 的官方支持。

由于我们所有自己开发的应用程序都是用 Java 编写的,而且我的公司不想切换文档归档软件,我的上级决定使用 JNI 开发一个包装器,以便我们的应用程序可以使用归档。而我就是接到这个任务的人。

我们在 Windows 7 工作站上使用 eclipse(目前是带有 m2e Maven 插件的“Kepler”版本)。我们所有的应用程序都是 Maven 多模块项目。目标平台是 RedHat Enterprise Linux (6.3+)。

2. 我想要的:

我想要一个单独的 Maven 模块来封装 JNI/C++ 桥接部分。如果可能的话,我希望在模块的 pom.xml 中有一个 <build>-section。因此,当我开始时mvn clean install,Maven 将编译我的 JNI java 类文件,生成相应的 C++ 头文件/类文件,最后生成一个可以在我的应用程序中使用的已编译 dll。我不熟悉 C++ 或 .NET。

  • 这可能吗?
  • 我怎样才能做到这一点?
  • 如何让 Maven 编译 C++ 类?

3.到目前为止我做了什么:

我在 Eclipse、m2e、Maven、JNI、javah 和 dll 上搜索过。到目前为止,我发现的是有关如何在 Eclipse、maven-native-plugin 中将 javah 配置为外部工具的示例,但仅具有伪配置和许多从未解决的线程。

最好的问候, CB

0 投票
1 回答
19548 浏览

java - 如何使用 javah

我刚刚浪费了 2 个小时来尝试做一些我之前已经做过两次的事情。我不记得前两次使用的确切程序,但它真的不应该给我带来这么多麻烦:

我有一个名为“BoardGUIv3”的项目文件夹。我想基于一个名为“CANController”的类生成一个头文件,源代码位于“BoardGUIv3/src/model”中,类文件位于“BoardGUIv3/bin/model”中。

我以前确实做过这件事,但由于某种原因,我似乎无法再次执行这个简单的单行命令。

我很确定这有点像

我的类路径应该只是根目录,不是吗?

0 投票
7 回答
33745 浏览

java - Javah 工具错误:找不到 hellojni 的类文件

我正在尝试从 Windows 7 OS 的命令行使用 javah 工具创建一个头文件,但我一直都失败了。

我遵循了不同的方法,甚至从 oracle 阅读了 javah 工具的文档,但它们无助于克服这个问题。

我的类文件 ( hellojni.class) 和 java 文件 ( hellojni.java) 都在D:\驱动器的根目录中。

但是每当我运行 javah 工具时,它都会给我一个错误:

找不到 hellojni 的类文件

我也尝试提供类路径,但没有获得任何头文件。

0 投票
1 回答
972 浏览

windows - Makefile 错误:make: *** 没有规则来制作“FileOperationsLibrary.h”需要的目标“genesha.main.java.Jni.class”。停止。”在 Eclipse (Windows) 中

我的makefile有问题。我正在 Windows 中使用 Eclipse,我的文件结构如下所示(项目路径:D:/workspace):

当我在 makefile (D:\workspace\Genesha\src\genesha\main\jni) 本地化的 cmd 中使用命令:

它工作正常。但是当我使用我的makefile时,我有以下错误:

我正在搜索很长时间的错误,现在我不知道这里出了什么问题......

编辑:我的生成文件

编辑 2:最后,感谢 MadScientist,我的制作文件代码是:

非常感谢您的帮助:)