0

我买了一台 Epson TM-T88IV 热敏打印机。我使用安装手册安装了 Epson JavaPOS ADK。

然后我在 Eclipse 中添加了 Epson JavaPOS 的 lib 文件夹中的 Jar 文件,并编写了一个连接到打印机的简单程序。

public class MainClass { 
    public static void main(String[] args)
    { 
        //System.out.println("Ausgabe aus der main()-Methode"); 

        POSPrinterControl113 ptr = (POSPrinterControl113)new POSPrinter();

        try {
            //Open the device.
            //Use the name of the device that connected with your computer.
            ptr.open("EPSON_TM_T88IV");

            //Get the exclusive control right for the opened device.
            //Then the device is disable from other application.
            ptr.claim(1000);

            //Enable the device.
            ptr.setDeviceEnabled(true);
        }
        catch(JposException ex) {
        }
    } 
}

但我收到这些错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jp_co_epson_upos_firm_FirmNativeAccess_1_13_0001 in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at jp.co.epson.upos.core.v1_13_0001.pntr.CommonPrinterService.<clinit>(CommonPrinterService.java:1004)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at jp.co.epson.uposcommon.util.EpsonJposServiceInstanceFactory.createInstance(EpsonJposServiceInstanceFactory.java:142)
    at jpos.loader.simple.SimpleServiceConnection.connect(Unknown Source)
    at jpos.BaseJposControl.open(Unknown Source)
    at MainClass.main(MainClass.java:15)

可以使用“CheckHealth.bat”打印一些东西

有人有解决这个问题的想法吗?

此致

迈泽尔门兴

  • 我正在使用 Windwos 8.1(64 位)
  • 热敏打印机通过 USB 连接
  • EPSON JavaPOS ADK 的版本是 1.13.15
  • 安装了最新的 32 位 Java 版本的 Java JDK 和 JAI
4

2 回答 2

1

java.lang.UnsatisfiedLinkError 表示Java 找不到需要的系统库。“系统库”在这种情况下意味着不是 jar 库。“系统库”是指操作系统的库文件(Windows 上的 DLL)。

您需要更改(在 Windows 上)PATH 变量并添加存储所需 Epson JavaPOS DLL 的正确目录。或者,您也可以在使用“-Djava.library.path”参数启动 Java 应用程序时设置正确的路径,例如:

java.exe -Djava.library.path=c:\path\to\dlls\ -cp c:\my\class\path my.app.Main

编辑

您需要指定的路径jp_co_epson_upos_firm_FirmNativeAccess*.dll是存储 DLL 的目录。Epson JavaPOS ADK 的安装例程将这些文件存储到您在安装 ADK 时指定的 JRE 的 bin 目录中。

于 2014-06-24T07:16:24.503 回答
0

您只需将带有 epson 驱动程序文件 (jp_co_epson_upos_firm_FirmNativeAccess_1_13_0001.XX) 的 dir 包含到类路径中,例如在 centos 中,您需要转到 /home/username/.bash_profile 并添加 export LD_LIBRARY_PATH=/opt/EpsonJavaPOS/bin

于 2014-03-28T21:26:45.140 回答