Drew Merritt
Drew Merritt

Reputation: 21

Can't load Java Library

I am very new to Java and I am trying to run a program I got from a friend. I keep getting this error and I'm unsure how to solve the problem.

Application is starting. Fetching data. Please wait... (approx. 10s) Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: no swt-cocoa-4236 in java.library.path no swt-cocoa in java.library.path Can't load library: C:\Users\Andrew.swt\lib\win32\x86_64\swt-cocoa-4236.dll Can't load library: C:\Users\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)

Apparently I'm missing the SWT library (swt-cocoa-4236 and/or swt-cocoa?), but I have no idea where to get it. That statement probably reveals my ignorance. If anyone could even point me in the right direction to where I might be able to solve the problem I'd be very grateful. Thanks!

Upvotes: 2

Views: 3507

Answers (3)

Motz H
Motz H

Reputation: 1

little late to the game, but i just had the same problem and found 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

Upvotes: 0

Mubin
Mubin

Reputation: 4239

Seems like the program that you are running is not built for your OS. SWT is OS dependant and JVM depedant. All SWT programs will use swt.jar which will be different based on the underlying OS. The one the program is using is built for Mac OS and seems like you are running that on a non-Mac system.

Regarding 'How to solve it', it depends on how the program that you are running is packaged.

Check the java version you are using and download appropriate SWT jar file.

Upvotes: 4

grepit
grepit

Reputation: 22382

I think Mubin (i.e. the above answer) is correct. here is where you can download the specific version of SWT.jar for your environment http://www.eclipse.org/swt/.

(I am answering your question for "I have no idea where to get it.")

Upvotes: 2

Related Questions