-3

有很多关于 javah 的问题,但我 3 天都找不到任何解决方案。

我的java文件正常工作,没有错误。我将我的 java 文件“I2CInterface.java”复制到“jdk/bin”目录。然后“javac I2CInterface.java” I2CInterface.class 创建成功。但是“javah -jni I2CInterface”无法创建头文件。错误是“找不到类”我尝试使用类路径但不起作用。我设置了我的环境并添加了路径 C:\Program Files\Java\jdk1.8.0\bin。没有工作。这是对某些类的有趣 javah 工作,它可以创建 header。但是在这个类和一些类上不起作用。

问题是关于java文件?我的java文件如下。

package com.multitek.ipintercomflatunit;


public class I2CInterface { 

private static native int i2cwrite(byte[] data);    
private static native byte[] i2cread(int data_len);

public static int write(byte[] data) {
    return(i2cwrite(data));
}
public static byte[] read(int data_len) {
    return(i2cread(data_len));
}

static 
{
    System.loadLibrary("i2cinterface");
}
4

1 回答 1

0

如果类在一个包中,比如说xxx,正确的命令行将是

javah xxx.I2CInterface 

我将我的 java 文件“I2CInterface.java”复制到“jdk/bin”目录

为什么?没有必要这样做。不要用自己的东西污染 Java 安装目录。将它留在原处并在那里编译。如有必要,调整您的 PATH 以便您可以执行 JDK 工具。

于 2014-07-17T07:11:20.303 回答