java的软件无法启用 无法加载指定文件。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的软件无法启用 无法加载指定文件。相关的知识,希望对你有一定的参考价值。
1. 这一般是路径问题。2. 你可以查看需要加载的文件路径,检查是否正确。
3. 根据提示 ,会发现你写的路径包含了 | 在Users\之后,去掉 | 试试。 参考技术A 是缓存文件被删除了。可能是被清理垃圾的程序清理掉了。 参考技术B 把java安装的路径名,调到最前面,不行的话,就设置一个JAVA_HOME,再不行就百度吧! 参考技术C 仔细检程序路径, 最后程序使用平台的路径符号,或符号常量追问
不懂。。以前一直没问题的。
追答环境是否发生了变化呢?
追问没啊。
参考技术D 路径错了,你有“| AppData”文件夹吗?java.lang.UnsatisfiedLinkError:无法加载库“TSCLIB”:找不到指定的模块
【中文标题】java.lang.UnsatisfiedLinkError:无法加载库“TSCLIB”:找不到指定的模块【英文标题】:java.lang.UnsatisfiedLinkError: Unable to load library 'TSCLIB': The specified module could not be found 【发布时间】:2014-12-29 04:06:42 【问题描述】:我正在尝试从 GWT Web 应用程序打印 TSC-244 Pro 条形码标签打印机。他们给了 tsclib.dll。这就是为什么我使用 jna.jar 并将 tsclib.dll 文件复制到 C:\Windows 和 [my_project_dir]\war\WEB-INF\lib 的原因。它的工作,但是当我部署到 apache tomcat 时。它不起作用,我收到以下错误。请给我解决方案。谢谢。
严重:调度传入 RPC 调用时出现异常 com.google.gwt.user.server.rpc.UnexpectedException:服务方法'public abstract boolean com.mbc.client.Controller.print(java.lang.String,java.util.ArrayList) throws java.lang.IllegalArgumentException' throws意外异常:java.lang.UnsatisfiedLinkError: Unable to load library 'TSCLIB': The specified module could not be found.
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)
原因:。
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
【问题讨论】:
【参考方案1】:我解决了这个问题。我找不到 TSCLIB.dll,因为我刚刚下载了 32 bit
的 dll 文件。我的 apache tomcat 程序位于64 bit
。因此,为什么无法加载库“TSCLIB”。现在我刚刚下载了64 bit
dll文件并复制到C:\Windows\sysWOW64\
。这是工作!不错。
【讨论】:
【参考方案2】:您需要将TscLib.DLL
添加到您的LD_LIBRARY_PATH
才能使com.mbc.server.impls.TscLibDll
中的本机代码工作。
【讨论】:
@ChesterDenn 没有代码,它是一个环境变量。set "LD_LIBRARY_PATH=<SOME_PATH>"
其中<SOME_PATH>
包含TscLib.DLL
那你没有设置正确。请注意,这是我们正在谈论的本机库(不是 Java 类)。
您的意思是在系统变量中设置,不是吗?我设置了变量名:LD_LIBRARY_PATH 和变量值:%SystemRoot%\TSCLIB.dll。错了吗?
尝试“LD_LIBRARY_PATH=%SystemRoot%”假设“TSCLIB.dll”实际上在SystemRoot
。如果它不起作用并且您仍然遇到上述异常,那么您还没有找到正确的“TSCLIB.dll”以上是关于java的软件无法启用 无法加载指定文件。的主要内容,如果未能解决你的问题,请参考以下文章
无法加载 DLL“coredll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
电脑删除文件,但是上面说(无法删除,找不到指定文件。请确定指定的路径及文件是不是正确)该怎么删除?