我有一个用于与读卡器通信的dll文件。在正常的java项目中,我可以正常加载和使用库,但当我尝试在Spring Boot项目中使用相同的类时,该方法似乎不起作用。
这个类看起来像这样:
public class cardfunction {
public native String GetDLLVersion();
static
{
System.loadLibrary("DoorLock");
}
public native String CancelCard();
static
{
System.loadLibrary("DoorLock");
}
}
这些方法工作正常,但如果我在Spring引导项目中使用这个类,dll将不再工作:
@RequestMapping("/")
public String home() {
cardfunction fc = new cardfunction();
int initialize = fc.initializeUSB();
String dellVer = fc.GetDLLVersion();
String hotelCode = fc.GetHotelSystemCode();
fc.CloseUSB();
return "initialize : " + initialize + " dllVer: " + dellVer + " hotelCode: " + hotelCode;
}
这是抛出的:
java.lang.UnsatisfiedLinkError: com.hotel.card.cardfunction.initializeUSB()I
at com.hotel.card.cardfunction.initializeUSB(Native Method) ~[classes/:na]
小时
1条答案
按热度按时间dsekswqp1#
我也面临同样的问题。我需要装载XXX。dll,我在一个示例java应用程序中编写了一个测试。它工作得很好。但它确实适用于Spring引导应用程序。我不知道为什么?异常信息显示了本机方法中的错误。