[英]java.lang.UnsatisfiedLinkError: Unable to load library 'TSCLIB': The specified module could not be found
I am trying to print TSC-244 Pro Bar Code Label Printer from GWT Web Application. 我正在尝试从GWT Web应用程序打印TSC-244 Pro条形码标签打印机。 They give tsclib.dll.
他们给tsclib.dll。 Thus why I use jna.jar and copy tsclib.dll file to C:\\Windows and [my_project_dir]\\war\\WEB-INF\\lib.
因此,为什么要使用jna.jar并将tsclib.dll文件复制到C:\\ Windows和[my_project_dir] \\ war \\ WEB-INF \\ lib。 Its work but when I deploy to apache tomcat.
它的工作,但是当我部署到Tomcat时。 It doesn't work and I got following error.
它不起作用,出现以下错误。 Please give me solution.
请给我解决方法。 Thank.
谢谢。
SEVERE: Exception while dispatching incoming RPC call com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract boolean com.mbc.client.Controller.print(java.lang.String,java.util.ArrayList) throws java.lang.IllegalArgumentException' threw an unexpected exception: java.lang.UnsatisfiedLinkError: Unable to load library 'TSCLIB': The specified module could not be found. 严重:调度传入的RPC调用com.google.gwt.user.server.rpc.UnexpectedException时发生异常:服务方法'public abstract boolean com.mbc.client.Controller.print(java.lang.String,java.util.ArrayList)引发java.lang.IllegalArgumentException'引发意外的异常:java.lang.UnsatisfiedLinkError:无法加载库'TSCLIB':找不到指定的模块。
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'TSCLIB': The specified module could not be found. 原因:java.lang.UnsatisfiedLinkError:无法加载库“ TSCLIB”:找不到指定的模块。
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:164)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:237)
at com.sun.jna.Library$Handler.<init>(Library.java:140)
at com.sun.jna.Native.loadLibrary(Native.java:375)
at com.sun.jna.Native.loadLibrary(Native.java:360)
at com.mbc.server.impls.TscLibDll.<clinit>(TscLibDll.java:8)
at com.mbc.server.util.BarCode.openport(BarCode.java:73)
at com.mbc.server.util.Printer.openBarCodePrinter(Printer.java:67)
at com.mbc.server.util.Printer.printtsc(Printer.java:97)
at com.mbc.server.util.Printer.print(Printer.java:35)
at com.mbc.server.ControllerServlet.print(ControllerServlet.java:1390)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
... 17 more
I solved this problem. 我解决了这个问题。 I can't find the TSCLIB.dll because I just downloaded dll file for
32 bit
. 我找不到TSCLIB.dll,因为我只是下载了
32 bit
dll文件。 My apache tomcat program is located in 64 bit
. 我的Apache tomcat程序位于
64 bit
。 Thus why Unable to load library 'TSCLIB'. 因此,为什么无法加载库“ TSCLIB”。 Now I just downloaded
64 bit
dll file and copied to C:\\Windows\\sysWOW64\\
. 现在,我刚刚下载了
64 bit
dll文件,并将其复制到C:\\Windows\\sysWOW64\\
。 It's work! 是工作! Nice.
尼斯。
您需要将TscLib.DLL
添加到LD_LIBRARY_PATH
以使com.mbc.server.impls.TscLibDll
的本机代码正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.