2013-06-20 45 views
2

我对Java非常陌生,我正尝试运行我从朋友那得到的程序。我不断收到这个错误,但我不确定如何解决这个问题。无法加载Java库

应用程序正在启动。获取数据。请稍等...(约10秒) 线程“main”中的异常java.lang.UnsatisfiedLinkError:无法加载SWT库。原因: java.library.path中没有swt-cocoa-4236 java.library.path中没有swt-cocoa 无法加载库:C:\ Users \ Andrew.swt \ lib \ win32 \ x86_64 \ swt-可可4236.dll 无法加载库:C:\用户\ Andrew.swt \ LIB \ WIN32 \ x86_64的\ SWT-cocoa.dll

at org.eclipse.swt.internal.Library.loadLibrary(Library.java:331) 
    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:240) 
    at org.eclipse.swt.interal.C.<clinit>(C.java:21) 
    at org.eclipse.swt.widgets.Display.<clinit>(Display.java:101) 
    at view.MainWindow.open(MainWindow.java:77) 
    at view.MainWindow.main(MainWindow.java:65) 

显然我错过了SWT库(swt-可可4236和/或swt-cocoa?),但我不知道从哪里得到它。那声明可能揭示我的无知。如果任何人甚至可以将我指向正确的方向,以便我可以解决问题,我会非常感激。谢谢!

回答

3

似乎您正在运行的程序不是为您的操作系统而构建的。 SWT依赖操作系统,JVM依赖。所有的SWT程序将使用swt.jar,这将基于底层操作系统而有所不同。该程序使用的是为Mac OS而构建的,似乎是在非Mac系统上运行该程序。

关于'如何解决它',它取决于你正在运行的程序是如何打包的。

检查您正在使用的Java版本并下载相应的SWT jar文件。

+0

通过路径名判断,OP在Windows上运行。 – RichieHindle

+0

确实,Windows,但是JVM版本也会出现在Windows的图片中SWT – Mubin

+0

我完全忘了提及我正在运行Windows 7,但似乎我并不需要。你必须是专业人士。 您可以详细说明程序打包的含义吗? –

2

我认为Mubin(即上面的答案)是正确的。您可以在此下载适用于您的环境的SWT.jar的特定版本http://www.eclipse.org/swt/

(我回答你的问题:“我不知道从哪里得到它。”)

+1

谢谢,这真的有帮助。是否有特殊的安装说明? –

+0

@DrewMerritt欢迎,请随时给它1 +为有用的答案。很高兴我能帮上忙。在http://www.eclipse.org/swt/docs.php页面上有一个教程。 –

0

有点晚了比赛,但我只是有同样的问题,发现this solution

Here's what worked for me:

Right Click on your Project Folder of your HelloWorldSWT Project-> Properties -> Java Build Path -> Tab 'Projects'

Expand the 'org.eclipse.swt.cocoa.macosx.x86_64' folder by clicking on the arrow left to it

Select 'Native library location' and click Edit

Click the Workspace Button and select 'org.eclipse.swt.cocoa.macosx.x86_64', then click ok (serveral times).

That did the trick ... Ma-an