我的情况如下:我必须为外卖披萨店开发POS应用程序,我有一台EPSON tm-t88iii收据打印机。
我做了:安装了ESPON JavaPOS ADK,用SETUPPOS生成了一个jpos.xml文件(HealthCheck工作正常)。
我的问题:当我尝试使用open方法连接到打印机时,我有以下例外情况,我不知道原因:
" jpos.JposException:无法使用logicalName = tm88连接到服务:Exception.message =无法创建服务实例。"
使用此代码:
POSPrinterControl19 ptr = (POSPrinterControl19) new POSPrinter();
try {
ptr.open("tm88");
} catch (JposException ex) {
System.err.println(ex.toString());
}
这是我的jpos.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE JposEntries PUBLIC "-//JavaPOS//DTD//EN"
"jpos/res/jcl.dtd">
<JposEntries>
<!--Saved by JavaPOS jpos.config/loader (JCL) version 2.2.0 on 23.06.14 21:59-->
<JposEntry logicalName="tm88">
<creation factoenter code hereryClass="jp.co.epson.uposcommon.util.EpsonJposServiceInstanceFactory" serviceClass="jp.co.epson.upos.core.v1_13_0001.pntr.T88IIIService"/>
<vendor name="SEIKO EPSON" url="http://www.epson.com"/>
<jpos category="POSPrinter" version="1.13"/>
<product description="EPSON TM-T88III Printer Device Service" name="EPSON Services for JavaPOS(TM) Standard" url="http://www.epson.com"/>
<!--Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )-->
........
</JposEntry>
</JposEntries>
我觉得这很奇怪,因为来自EPSON ADK的HealthCheck工作得很好而我的例子没有。当然,我确实将EPSON ADK的所有图书馆都包含在项目中。有人有想法吗?
谢谢
我的规格:
操作系统:WINDOWS 8.1 64位 IDE:netbeans 8 与收据的连接:串行
答案 0 :(得分:0)
您需要使用以下方式设置打印机:
System.setProperty(JposPropertiesConst.JPOS_POPULATOR_FILE_PROP_NAME, "jpos.xml");
并加载jpos.xml
使用route\\jpos.xml
此文件由实用程序生成。