java - 在/usr/lib/中找不到jni.h

标签 java apache-storm jzmq

我正在使用 Ubuntu 并尝试安装 Storm,但得到了这个

checking for jni.h in /usr/lib/jdk1.6.0_36/include... configure: error: cannot find jni.h in /usr/lib/jdk1.6.0_36/include.

何时使用此命令

./configure 

JZMQ安装中

java -version 

java version "1.6.0_36"
OpenJDK Runtime Environment (IcedTea6 1.13.8) (6b36-1.13.8-0ubuntu1~14.04)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)

我尝试在configure中通过使用进行编辑

sudo gedit configure

但同样的问题

尝试编辑bashrc我在文件末尾添加了这一行

export JAVA_HOME=/usr/lib/jvm/

但问题仍然存在

openjdk在这个路径/usr/lib/jvm/java-6-openjdk-amd64

有什么解决办法吗?为什么我收到这个错误?

最佳答案

如果你想使用这个 openjdk 发行版,至少你应该有 export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

最后你的configure/make应该尝试在/usr/lib/jvm/java-6-openjdk-amd64/include中找到jni.h 因此,如果您有权访问此属性以进行“配置” - 您只需将其更改为该值即可(当然,请在该路径的文件实际存在之前进行检查)

最后,在“make”阶段,应该这样使用该路径:

gcc -I/usr/lib/jvm/java-6-openjdk-amd64/include ...

关于java - 在/usr/lib/中找不到jni.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34033075/

相关文章:

java - 如何检查单选按钮是否在 Selenium WebDriver 中被选中?

java - 字段 'Id_employeer' 没有默认值

java - 为边界和异常编写测试用例

java - 为什么这个随机值的分布是 25/75 而不是 50/50?

sockets - 在 ZeroMQ 中获取 TCP 地址信息

java - 如何设置 TOPOLOGY_MAX_SPOUT_PENDING 参数

apache-storm - 使用 setState SampleRate/topology.stats.sample.rate 的性能影响

java - Apache Storm 本地集群 "Unable to canonicalize address"

c++ - ZMQ C++ 从特定工作人员发送和接收

java - 如何检查 JZMQ 套接字是否已连接