2009-11-20 49 views
2

我有一個java webstart程序,它運行在XP,OSX,Vista和Windows 7上。 我只是試圖在Windows 7 64位上運行它,它有一個加載庫的問題。 在這個win7x64機器上,我有64位jdk/jre,它沒有加載的庫是swt-win32.dll。沒錯這就是32位,但我發現:Java加載庫的Windows 7 64位

Exception in thread "Thread-10" java.lang.UnsatisfiedLinkError: no swt-win32-3325 or swt-win32 in swt.library.path, java.libary.path or the jar file... 

我試圖把該DLL上設置java(物理複製到該文件夾​​),並且仍然得到確切的同樣的錯誤。所以,我得到這個錯誤,因爲它是一個32位的DLL或因爲它實際上找不到它?可以64位jdk/jre加載/使用32位dll的還是我需要找到64位版本的dll或運行32位jdk/jre?

回答

3

您已經有答案了。 64位DLL需要64位JDK和32位DLL需要32位JDK。

+0

我發現有關本地庫的JDK錯誤消息並不總是最直觀的。我還建議在webstart之外進行測試。 – basszero 2009-11-20 19:25:02

+0

好的,謝謝,那裏的錯誤只是有點誤導。 – 2009-11-20 19:25:46

+0

@basszero此測試不屬於webstart:/ – 2009-11-20 19:26:42

0

swt-win32.dll其實是一個SWT UI框架(eclipse)dll。嘗試將它放在系統路徑中的目錄中。

如果這不起作用,那麼你的下一個最好的選擇就是獲得64位窗口的SWT二進制文件here。我認爲它適用於Windows Vista 64.沒有提到Windows 7,但它「應該」的工作。