报错内容如下:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no DLLSample in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:992)
at shell.TestDll.<clinit>(TestDll.java:7)
at shell.Math$1.widgetSelected(Math.java:33)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at shell.Math.main(Math.java:45)
我的调用程序如下:
package shell;
public class TestDll { 
 static 
 {
  System.loadLibrary("DLLSample");//载入dll
 }
 public native static int DoubleValue(int i);//函数声明 
}

解决方案 »

  1.   

    用java.library.path指定你的DLL的位置。
    -Djava.library.path=path_to_your_dll
      

  2.   

    这个问题这里不太好说,反正就是Java找不到你的DLL。要不你把DLL所以在目录设置到PATH环境变量里看看行不行。
    如果没解决QQ联系32485084,我在线的时间不固定
      

  3.   

    最简单的是把SWT.JAR中的几个DLL解压缩出来放在 windows/system32 及windows/system 在windows中JAVA会从该2个目录中去加载一些库文件。如果不想那就用2楼的方法在Eclipse启动该程序的Arguments页中的VM arguments中指定那几个你解压缩出来的dll目录的文件夹路径,方法为-Djava.library.path=path_to_your_dll
      

  4.   

    在SWT项目中java.library.path的路径与Java项目的路径不一样 不知道是为什么 希望大虾解答