Проверка работоспособности Java POS возвращает «java.lang.UnsatisfiedLinkError» - PullRequest
1 голос
/ 19 сентября 2011

Я установил Java pos adk (1.11.18) для принтера Epson TMU230, подключенного через Ethernet.Я настроил принтер, запустив файл setupPos.exe.При запуске файла healthCheck.bat эта ошибка отображается в консоли.

    Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no jp_co_
epson_upos_firm_FirmNativeAccess in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at jp.co.epson.upos.pntr.CommonPrinterService.<clinit>(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at jp.co.epson.uposcommon.util.EpsonJposServiceInstanceFactory.createIns
tance(Unknown Source)
        at jpos.loader.simple.SimpleServiceConnection.connect(Unknown Source)
        at jpos.BaseJposControl.open(Unknown Source)
        at checkhealthtool.CheckHealthTool.executeCheckHealth(Unknown Source)
        at checkhealthtool.CheckHealthTool.checkHealthButton_Click(Unknown Sourc
e)
        at checkhealthtool.CheckHealthTool.actionPerformed(Unknown Source)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:19
95)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6288)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6053)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4651)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4481)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)

        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4481)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
        at java.awt.EventQueue.access$000(EventQueue.java:84)
        at java.awt.EventQueue$1.run(EventQueue.java:602)
        at java.awt.EventQueue$1.run(EventQueue.java:600)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessCo
ntrolContext.java:87)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessCo
ntrolContext.java:98)
        at java.awt.EventQueue$2.run(EventQueue.java:616)
        at java.awt.EventQueue$2.run(EventQueue.java:614)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessCo
ntrolContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
ad.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not
 initialize class jp.co.epson.upos.pntr.U230Service
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at jp.co.epson.uposcommon.util.EpsonJposServiceInstanceFactory.createIns
tance(Unknown Source)
        at jpos.loader.simple.SimpleServiceConnection.connect(Unknown Source)
        at jpos.BaseJposControl.open(Unknown Source)
        at checkhealthtool.CheckHealthTool.executeCheckHealth(Unknown Source)
        at checkhealthtool.CheckHealthTool.checkHealthButton_Click(Unknown Sourc
e)
        at checkhealthtool.CheckHealthTool.actionPerformed(Unknown Source)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:19
95)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6288)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6053)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4651)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4481)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)

        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4481)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
        at java.awt.EventQueue.access$000(EventQueue.java:84)
        at java.awt.EventQueue$1.run(EventQueue.java:602)
        at java.awt.EventQueue$1.run(EventQueue.java:600)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessCo
ntrolContext.java:87)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessCo
ntrolContext.java:98)
        at java.awt.EventQueue$2.run(EventQueue.java:616)
        at java.awt.EventQueue$2.run(EventQueue.java:614)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessCo
ntrolContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
ad.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Я использую Windows Server 2003 и JDK 1.5.

Какие файлы библиотеки отсутствуют?

Ответы [ 2 ]

0 голосов
/ 24 марта 2015

Краткий ответ: проверьте, есть ли у вас java.library.path (System.out.println (System.getProperty ("java.library.path"). Убедитесь, что в пути есть jp_co_ epson_upos_firm_FirmNativeAccess.dll.

Длинный ответ: Если вы устанавливаете EPSON Java POS, откройте (Program Files) \ EPSON \ JavaPOS \ SetupPOS \ CheckHealth \ checkhealth.bat. Проверьте, какой jre-файл используется для запуска CheckHealthTest.jar. Скопируйте jp_co_ epson_upos_firm_FirmNativeAccess.dll из jre \bin в Windows \ System32 \ или любой путь в java.library.path

Пример программы для тестирования

public class Test {

    public static void main(String[] args) {      
        System.out.println(System.getProperty("java.library.path"));
        System.loadLibrary("jp_co_epson_upos_firm_FirmNativeAccess");
    }
}
0 голосов
/ 19 сентября 2011

С технической точки зрения Java: DLL и библиотека Java отсутствуют или ожидаются в другом месте.

С точки зрения приложения: поскольку у вас есть процедура установки (руководство) и некоторые пакетные файлы поставленыс adk, я почти уверен, что вы должны прочитать документацию снова.Я предполагаю, что вы пропустили один шаг или изменили пути установки, поэтому командный файл смотрит в неправильные места.

...