2013-01-11 40 views
0

我正在嘗試使用JWebBrowser運行內部Web瀏覽器。當我在Netbeans環境中運行應用程序時,它完美地工作。然而,當我生成項目,並運行,我發現了以下錯誤的jar文件:找不到/加載swt-gtk

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 

而且他們引用通過Manifest.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 

我做錯了什麼?

謝謝。

+0

默認情況下Netbeans創建一個'dist'文件夾,來分發整個文件夾 – mKorbel

+0

那麼,我不知道你想用那個答案說什麼,對不起。 – Charles

+0

我使用'java -cp ./Navegador.jar;./lib/DJNativeSwing.jar;./lib/DJNativeSwing-SWT.jar;./lib/DJNativeSwing-SWTAPI.jar;./lib/DJNativeSwing-SWTCore.jar ; ./ LIB/MozillaInterfaces-1.8.1.3.jar; ./ LIB/SWT.JAR; navegador.Main'。我不明白的是你在談論'dist'文件夾時想說的話。 (它擁有可運行的jar文件和'lib'文件夾) – Charles

回答

1

好的,我找到了解決方案。問題是關於dll的一代。我使用的是3.7m5版本,我下載了以前的版本(3.7),並且應用程序正常運行。 謝謝你的幫助。 此致敬禮。

+0

不要忘記接受答案,包括你自己的答案。 –

1

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

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

它不起作用。似乎真正的問題是關於DLL的一代,所以如果我找到解決方案,我會在這裏發佈。 – Charles