lancelang 发表于 2011-2-16 12:13:33

RFT脚本中如何加载DLL?

因为想在测试脚本中查询数据库,所以需要加载数据库连接DLL,但运行测试脚本时报java.lang.UnsatisfiedLinkError异常。代码如下:public void testMain(Object[] args)
        {
      String ret = "";
      IDNAAdapter clientNDA = new DNAService();
      try
      {
            System.loadLibrary("QuoterJNI");
            ret = clientNDA.getDiskCode();

            System.out.println(ret);
      }
      catch (Throwable t)
      {
            t.printStackTrace();
      }
        }异常:java.lang.UnsatisfiedLinkError: com/huawei/unistar/cfg/quoter/dna/QuoterJNI.getHardDiskCode()Ljava/lang/String;

但直接写在main函数,用java程序的方式运行却不会报错:public static void main(String[] args)
    {
      String ret = "";
      IDNAAdapter clientNDA = new DNAService();
      try
      {
            System.loadLibrary("QuoterJNI");
            ret = clientNDA.getDiskCode();

            System.out.println(ret);
      }
      catch (Throwable t)
      {
            t.printStackTrace();
      }

    }请大虾们指点一下,谢谢!

zm1015 发表于 2011-2-16 13:25:31

需要开发配合你的,用jni试试。

lancelang 发表于 2011-2-16 14:46:12

回复 2# zm1015


    用的就是JNI啊。

BlueSkyLoser 发表于 2011-3-3 16:53:47

看一下第一个文件是否java文件,可以把第二个文件写成一个方法,然后调用试试。

franklies 发表于 2011-5-20 22:33:27

回复 1# lancelang


    JDBC连接数据库不行吗?

dreamever 发表于 2011-5-21 20:35:35

本帖最后由 dreamever 于 2011-5-21 20:37 编辑

应该是加载的路径不同,检查一下目录吧。

kou_dou 发表于 2011-5-23 18:39:19

用JNI的话要注意.dll文件存放的位置,这个位置在头文件里有可能是写死的

Rockets 发表于 2011-5-26 18:09:26

Leaning....
页: [1]
查看完整版本: RFT脚本中如何加载DLL?