3

我正在尝试在 Windows 中使用 jPOS 进行打印并得到以下异常:

jpos.JposException: Could not connect to service with logicalName = Printer: Exception.message=jp.co.epson.uposcommon.util.EpsonJposServiceInstanceFactory
    at jpos.loader.simple.SimpleServiceConnection.connect(Unknown Source)
    at jpos.BaseJposControl.open(Unknown Source)
...

更多信息:

我正在尝试将我们的 Java 打印软件从 Linux(它运行良好)移植到 Windows。我们使用的是 Epson TM-T70 收据打印机。例如,我安装了常规打印机驱动程序并立即能够使用记事本打印内容。

现在我安装了 Epson JavaPoS ADK。我使用 ADK 附带的 SetupPOS 应用程序配置了打印机。我使用逻辑设备名称“打印机”为我的打印机创建了一个新配置。我保存了所有内容并创建了 jpos.xml 文件。

当我尝试运行我们的应用程序并执行 printer.open("Printer") 其中“Printer”是逻辑设备名称而打印机是 POSPrinter 实例时,我得到了上面的异常。

我知道我生成的 jpos.xml 文件正在被使用,因为如果我提供一个随机的逻辑设备名称,我会得到一个不同的异常。

我猜问题出在SetupPOS的端口配置中。打印机通过 USB 连接。我尝试了出现在 Windows 打印机属性 (ESDPRT001) 中的端口名称,我什至尝试了 COM1 到 COM10 的所有组合,但没有任何效果。

有人有什么建议吗?谢谢!

4

4 回答 4

2

Epson JavaPOS ADK 的安装程序是……啊……让我说:“非常特别”。所以安装会复制一些jar文件(如epsonupos.jar、jposXXX.jar等等)在JRE的ext/lib目录(!!!)(安装JavaPOS驱动时必须选择)。如果我们安装另一个 JavaPOS 版本,切换到另一个 JRE/JDK,使用不是来自 Epson 的其他打印机或其他打印机,也会产生一些非常奇怪的效果。

可能是您的问题是不同 jar 版本或 JDK 或其他东西之间的任何冲突的结果......

编辑:

由于 ADK 版本 1.11.anywhat(不太确定,但我的意思是 1.11.9),您可以指定存储附加 jar 文件的路径。但是:某些 DLL 也将在当前最新的 ADK 版本 (1.13.17) 中存储到所选 JRE 的 bin 目录中。可能这也是使用的jar和使用的DLL或其他东西的不同版本之间的冲突......

于 2014-06-24T07:52:55.260 回答
1

我解决了这个问题,将以下库路径添加到 java 项目:

C:\Program Files\EPSON\JavaPOS\lib

C:\Program Files\EPSON\JavaPOS\SetupPOS

于 2017-07-08T21:49:44.257 回答
0

使用 javaPOS 1.14.6,在 Debian 9 Linux 上,我使用 LD_LIBRARY_PATH 解决了:

$ export LD_LIBRARY_PATH = /opt/EpsonJavaPOS/bin && javapos_application_to_run

在 Windows 10 副本上:

BluetoothIO.DLL
epsonjpos.dll
EthernetIO31.DLL
SerialIO31.dll
USBIO31.DLL

C:\Program Files\EPSON\JavaPOS\bin\

C:\Program Files\Java\jre1.8.0.171\bin\

运行 javaPOS 应用程序。

于 2018-06-29T15:51:54.053 回答
0

我知道回复有点晚,但可能会帮助其他有类似问题的人。在我的情况下,我正在使用 javapos 与数据逻辑扫描仪进行交互,并且我收到以下消息:错误:无法打开 DL-Magellan-9400i-USB-OEM-Scanner-Scale 配置文件,jpos.JposException:无法连接到服务逻辑名称= DL-Magellan-9400i-USB-OEM-Scanner-Scale: Exception.message= com.dls.jpos.service.DLSScannerInstanceFactory

我开始查看从 datalogic 下载的 javapos 软件,发现有一个 jar 文件未包含在我的类路径(JavaPOS.jar)中,这就是我收到错误的原因,请查看 netx 图像:

JavaPOS.jar 文件内容

我想分享以防有人遇到同样的问题。 (花了我将近 2 天的时间来完成它!)

于 2019-12-30T06:15:27.933 回答