Java POS health check returns "java.lang.UnsatisfiedLinkError"

I installed Java pos adk (1.11.18) for an Epson TMU230 printer connected via Ethernet. I set up the printer by running setupPos.exe. When I run the healthCheck.bat file, it shows this error in the console.

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) 

I am using Windows Server 2003 and JDK 1.5.

What library files are missing?

+1
source share
2 answers

From a technical point of view, Java: DLLs and the Java library are either absent or expected elsewhere.

From the point of view of the application: since you have the installation procedure (manual) and some batch file that comes with adk, I am sure you will read the documentation again. I assume that you skipped one step or changed the installation paths, so the batch file does not look right.

0
source

Short answer: check java.library.path (System.out.println (System.getProperty ("java.library.path"). Make sure there is jp_co_ epson_upos_firm_FirmNativeAccess.dll in the path.

Long answer: if you install EPSON Java POS, open (Program Files) \ EPSON \ JavaPOS \ SetupPOS \ CheckHealth \ checkhealth.bat. Check which jre uses to run CheckHealthTest.jar. Copy jp_co_ epson_upos_firm_FirmNativeAccess.dll from jre \ bin on Windows \ System32 \ or any path in java.library.path

Sample program for testing

 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
source

Source: https://habr.com/ru/post/1438832/


All Articles