Javah在某些类中工作,但在某些类中不起作用

时间:2014-07-17 06:41:31

标签: java java-native-interface native javah

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

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

问题是关于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");
}

1 个答案:

答案 0 :(得分:0)

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

javah xxx.I2CInterface 
  

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

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