无法在Java代码中使用.dll文件

时间:2012-04-20 11:56:10

标签: java dll java-native-interface

  

可能重复:
  how to use .dll files in java code?

我正在使用的dll文件出错:

错误消息是:

java.lang.UnsatisfiedLinkError: Expecting an absolute path of the library: Eagleye_parser
    at java.lang.Runtime.load0(Runtime.java:767)
    at java.lang.System.load(System.java:1005)
    at test.TestDllJava.<clinit>(TestDllJava.java:15)
Exception in thread "main" 

这是代码:

public class TestDllJava {

    private static native String[] eagleye_fmu(String A);

    public static void main(String[] args){
        String[] ag = null;
        String parameter =  null;
        parameter = "356188030442449 10250000 0001F464 0000EB34 0002CC7D 4xA0";
         ag = eagleye_fmu(parameter);
        System.out.println(ag);
    }

    static { 
        System.load("Eagleye_parser");
    } 
}

请纠正我,我做错了。

1 个答案:

答案 0 :(得分:3)

由于docs of load()指定:

  

从本地文件加载具有指定文件名的代码文件   系统作为动态库。 filename参数必须是完整的   路径名称。

使用loadLibrary()load( mapLibraryName(..) )时,更好的方法是使用{{3}}或java.library.path {{3}} loadLibrary()来确定库的绝对路径。

在Eclipse中,您可以通过项目属性 - &gt;在项目中指定本机库文件夹。 Java构建路径 - &gt;选项卡库 - &gt;展开系统库,单击“本机库位置”。 Eclipse将为您构建{{1}},{{1}}将很容易看到它。

Screenshot of Project Properties