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();
}
}请大虾们指点一下,谢谢! 需要开发配合你的,用jni试试。 回复 2# zm1015
用的就是JNI啊。 看一下第一个文件是否java文件,可以把第二个文件写成一个方法,然后调用试试。 回复 1# lancelang
JDBC连接数据库不行吗? 本帖最后由 dreamever 于 2011-5-21 20:37 编辑
应该是加载的路径不同,检查一下目录吧。 用JNI的话要注意.dll文件存放的位置,这个位置在头文件里有可能是写死的 Leaning....
页:
[1]