Java Web项目无法从Eclipse内部执行DLL文件
我有一个web项目,当我将该项目部署到单个tomcat时,该项目运行良好,但当我试图从Eclipse内部运行同一个项目,并且在同一个tomcat实例中,该项目不工作时,会引发以下异常:Java Web项目无法从Eclipse内部执行DLL文件,java,eclipse,tomcat,mapserver,Java,Eclipse,Tomcat,Mapserver,我有一个web项目,当我将该项目部署到单个tomcat时,该项目运行良好,但当我试图从Eclipse内部运行同一个项目,并且在同一个tomcat实例中,该项目不工作时,会引发以下异常: java.lang.UnsatisfiedLinkError: C:\ms4w\Apache\cgi-bin\mapscript.dll: The operating system cannot run %1 at java.lang.ClassLoader$NativeLibrary.load(N
java.lang.UnsatisfiedLinkError: C:\ms4w\Apache\cgi-bin\mapscript.dll:
The operating system cannot run %1 at
java.lang.ClassLoader$NativeLibrary.load(Native Method) at
java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807) at
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1732) at
java.lang.Runtime.loadLibrary0(Runtime.java:823) at
java.lang.System.loadLibrary(System.java:1028) at
edu.umn.gis.mapscript.mapscriptJNI.<clinit>(mapscriptJNI.java:26) at
edu.umn.gis.mapscript.mapObj.<init>(mapObj.java:283) at
GISExtension.GISRequest.createMapInfo(GISRequest.java:193) at
GISExtension.GISRequest.doPost(GISRequest.java:166) 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:293)
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(Thread.java:662)
有人能帮我解决上述异常吗?您是否仔细检查了文件是否确实存在于
C:\ms4w\Apache\cgi bin\mapscript.dll
?@maba是的,它在那里,这就是为什么从单个tomcat实例来看,我指的是eclipse外部的工作,但从内部的eclipse不工作:(我想不出答案issue@j.singh您能在两种环境中发布System.getProperty(“java.library.path”);
的结果吗?谢谢大家,通过在环境变量中添加包含DLL的文件夹,问题得以解决
String library = System.getProperty("mapserver.library.name", "mapscript");
System.loadLibrary(library);