找不到/加载swt-gtk

时间:2013-01-11 11:34:50

标签: java swing

我正在尝试使用JWebBrowser运行内部Web浏览器。当我在Netbeans环境中运行应用程序时,它运行得很好。但是,当我构建项目并运行jar文件时,我收到以下错误:

NativeSwing[1]: Exception in thread "main" java.lang.UnsatisfiedLinkError: Could
not load SWT library. Reasons:
NativeSwing[1]: no swt-gtk-3721 in java.library.path
NativeSwing[1]: no swt-gtk in java.library.path
NativeSwing[1]: Can't load library: C:\Users\CCS.swt\lib\win32\amd64\swt-gtk-3721.dll
NativeSwing[1]: Can't load library: C:\Users\CCS.swt\lib\win32\amd64\swt-gtk.dll

我在项目中包含以下库:

DJNativeSwing.jar
DJNativeSwing-SWT.jar
DJNativeSwing-SWTAPI.jar
DJNativeSwing-SWTCore.jar
MozillaInterfaces-1.8.1.3.jar
swt.jar (version 3.7M5 for 64 bits.)
jna_WindowUtils.jar
jna-3.2.4.jar

并且Manofst.MF以这种方式引用它们

Class-Path: lib/DJNativeSwing-SWT.jar lib/DJNativeSwing-SWTAPI.jar lib
/DJNativeSwing-SWTCore.jar lib/MozillaInterfaces-1.8.1.3.jar lib/DJNa
tiveSwing.jar lib/swt.jar lib/jna-3.2.4.jar lib/jna_WindowUtils.jar

我做错了什么?

谢谢。

2 个答案:

答案 0 :(得分:1)

您需要在java.library.path命令中指定java,并将其指向.dll文件的路径。例如,

java -Djava.library.path=lib -cp ...

答案 1 :(得分:1)

好的,我找到了解决方案。问题是关于dll的产生。我使用的是3.7m5版本,我下载了以前的版本(3.7)并且应用程序运行正常。 谢谢您的帮助。 问候。