【问题标题】:Trouble with using Epson JavaPOS ADK 1.11.18.0使用 Epson JavaPOS ADK 1.11.18.0 出现问题
【发布时间】:2012-10-10 07:54:23
【问题描述】:

我最近购买了一台 Epson TM-T20 打印机,我目前正在尝试构建一个使用它的 java 应用程序。我已经安装了打印机附带的 JavaPOS,并将其相关的 .jar 文件添加到我的构建路径中。尽管如此,当我尝试运行一些与它一起打包的示例示例时,我不断收到此错误。

线程“AWT-EventQueue-0”java.lang.UnsatisfiedLinkError 中的异常:java.library.path 中没有 jp_co_epson_upos_firm_FirmNativeAccess_1_11_0001

如果跟踪堆栈的其余部分有帮助

在 java.lang.ClassLoader.loadLibrary(未知来源) 在 java.lang.Runtime.loadLibrary0(未知来源) 在 java.lang.System.loadLibrary(未知来源) 在 jp.co.epson.upos.core.v1_11_0001.pntr.CommonPrinterService.(未知来源) 在 java.lang.Class.forName0(本机方法) 在 java.lang.Class.forName(未知来源) 在 jp.co.epson.uposcommon.creator.EpsonJposServiceInstanceFactory.createInstance(未知来源) 在 jpos.loader.simple.SimpleServiceConnection.connect(未知来源) 在 jpos.BaseJposControl.open(未知来源) 在 Step1Frame.processWindowEvent(Step1Frame.java:79) 在 java.awt.Window.processEvent(未知来源) 在 java.awt.Component.dispatchEventImpl(未知来源) 在 java.awt.Container.dispatchEventImpl(未知来源) 在 java.awt.Window.dispatchEventImpl(未知来源) 在 java.awt.Component.dispatchEvent(未知来源) 在 java.awt.EventQueue.dispatchEventImpl(未知来源) 在 java.awt.EventQueue.access$200(未知来源) 在 java.awt.EventQueue$3.run(未知来源) 在 java.awt.EventQueue$3.run(未知来源) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.security.ProtectionDomain$1.doIntersectionPrivilege(未知来源) 在 java.security.ProtectionDomain$1.doIntersectionPrivilege(未知来源) 在 java.awt.EventQueue$4.run(未知来源) 在 java.awt.EventQueue$4.run(未知来源) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.security.ProtectionDomain$1.doIntersectionPrivilege(未知来源) 在 java.awt.EventQueue.dispatchEvent(未知来源) 在 java.awt.EventDispatchThread.pumpOneEventForFilters(未知来源) 在 java.awt.EventDispatchThread.pumpEventsForFilter(未知来源) 在 java.awt.EventDispatchThread.pumpEventsForHierarchy(未知来源) 在 java.awt.EventDispatchThread.pumpEvents(未知来源) 在 java.awt.EventDispatchThread.pumpEvents(未知来源) 在 java.awt.EventDispatchThread.run(未知来源)

其他信息

  • 操作系统:W7 x64
  • IDE:Eclipse Juno Service Release 1 x64
  • 安装最新的 JDK
  • JavaPOS 有一个名为 setupPOS 的应用程序。我还在此设置中添加了我的打印机

任何帮助将不胜感激。谢谢

【问题讨论】:

  • 发现了一个类似但未回答的问题here
  • 当您的 epson-javapos 设置不正确时会发生这种情况。您需要检查将 lib 文件复制到 jvms /ext 文件夹的选项。看这里:stackoverflow.com/questions/30839049/…

标签: java epson thermal-printer javapos


【解决方案1】:

根据java documentation的UnsatisfiedLinkError异常是:

如果 Java 虚拟机找不到合适的,则抛出 声明为本地的方法的本地语言定义。

根据 SO 中的另一个问题,您可以阅读here,问题可能出在您的库路径中。尝试包含该选项

-Djava.library.path=./XXX

其中 ./XXX 是您的打印机驱动程序可能存储的相对路径或完整路径(jp_co_epson_upos_firm_FirmNativeAccess_1_11_0001.dll 或 .so 所在的目录)。

祝你好运!

【讨论】:

  • 奇怪的是 .dll 或 .so 在我的机器上找不到。对于如何让这一切顺利进行,我真的束手无策,我已经按照手册一直到 T。理论上,这些示例都应该能够毫无问题地链接和编译。我会继续研究它,如果我找到解决方案,我会在这里发布。
  • 也许它可能是一个类名。我正在阅读here,他们提到需要将 2 个 jar 复制到 java libs 目录中。样品没有提供来源?如果你自己编译它们,你可能会得到更好的错误信息。
猜你喜欢
  • 2018-12-26
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-21
  • 2015-08-30
相关资源
最近更新 更多