我最近买了一台Epson TM-T20打印机,我正在尝试构建一个可以利用它的java应用程序。我安装了打印机附带的JavaPOS,并将相关的.jar文件添加到我的构建路径中。尽管如此,在尝试运行与其一起打包的一些示例示例时,我仍然遇到此错误。
线程“AWT-EventQueue-0”中的异常java.lang.UnsatisfiedLinkError:java.library.path中没有jp_co_epson_upos_firm_FirmNativeAccess_1_11_0001
如果跟踪堆栈的其余部分有帮助
at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) 在java.lang.System.loadLibrary(未知来源) 在jp.co.epson.upos.core.v1_11_0001.pntr.CommonPrinterService。(未知来源) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) 在jp.co.epson.uposcommon.creator.EpsonJposServiceInstanceFactory.createInstance(未知来源) 在jpos.loader.simple.SimpleServiceConnection.connect(未知来源) 在jpos.BaseJposControl.open(未知来源) 在Step1Frame.processWindowEvent(Step1Frame.java:79) 在java.awt.Window.processEvent(未知来源) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 在java.awt.EventQueue.access $ 200(未知来源) 在java.awt.EventQueue $ 3.run(未知来源) 在java.awt.EventQueue $ 3.run(未知来源) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain $ 1.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain $ 1.doIntersectionPrivilege(Unknown Source) 在java.awt.EventQueue $ 4.run(未知来源) 在java.awt.EventQueue $ 4.run(未知来源) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain $ 1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 在java.awt.EventDispatchThread.run(未知来源)
其他信息
非常感谢任何帮助。谢谢
答案 0 :(得分:2)
根据java documentation,UnsatisfiedLinkError异常为:
如果Java虚拟机无法找到合适的内容,则抛出该异常 声明为native的方法的本地语言定义。
根据SO中的另一个问题,您可以阅读here,问题可能出在您的图书馆路径中。尝试包含选项
-Djava.library.path=./XXX
其中./XXX是存储打印机驱动程序的相对路径或完整路径(jp_co_epson_upos_firm_FirmNativeAccess_1_11_0001.dll或.so所在的目录)。
祝你好运!