Исключение в потоке "main" java.lang.UnsatisfiedLinkError: Не удалось загрузить библиотеку SWT - PullRequest
6 голосов
/ 06 июня 2010

Что является причиной следующей ошибки:

Исключение в потоке "main" java.lang.UnsatisfiedLinkError: Не удалось загрузить библиотеку SWT.

Я использую Eclipse 3.5 SE на Ubuntu 9.04 Jaunty.

Как я могу устранить эту ошибку?

Ответы [ 7 ]

17 голосов
/ 07 мая 2012

У меня была такая же проблема с Oracle Java 7 и Eclipse в 32-битной системе.

libswt-gtk-3.6-java и libswt-gtk-3.6-jni уже установлены. Что помогло :

cd ~/.swt/lib/linux/x86
ln -s /usr/lib/jni/* .

Может быть, это можно сделать, перенастроив альтернативы Java или что.

3 голосов
/ 08 июля 2012

Я считаю, Обходное решение Миколая Лехтанского более элегантно

создать или редактировать /etc/eclipse.ini

Вставить внутрь:

-vmargs
-Djava.library.path=/usr/lib/jni

выход

убедитесь, что файл доступен для чтения:

sudo chmod 755 /etc/eclipse.ini
2 голосов
/ 06 июня 2010

Какие версии Java и Eclipse вы используете, и являются ли они 32-разрядными или 64-разрядными, и как вы их установили?

Eclipse использует свою собственную библиотеку GUI под названием SWT (он не использует Java AWT или Swing), и для этого ему нужны некоторые собственные (не Java) библиотеки. Если у вас установлена ​​32-битная Java, вам нужен 32-битный Eclipse; если у вас установлена ​​64-битная Java, вам нужен 64-битный Eclipse (обратите внимание, что на странице Eclipse имеются 32-битные и 64-битные версии для Linux).

(Обратите внимание, что это зависит не от того, 32-битная или 64-битная ОС Linux, а от того, есть ли у вас Java).

2 голосов
/ 06 июня 2010

Это означает, что собственные библиотеки не найдены.
Либо у вас есть 32-разрядные библиотеки, и вы работаете на 64-разрядной машине, либо наоборот.
также убедитесь, что -Djava.library.path= установлен правильно

См. Эту страницу о том, как бежать за пределами затмения

1 голос
/ 23 сентября 2011

У меня была похожая проблема при удаленном запуске Eclipse на сервере через туннель "ssh -X". Я решил это с помощью «sudo apt-get install libswt-gtk-3.6-java» на сервере.

0 голосов
/ 18 ноября 2013

Я закончил делать

 cd ~/.swt/lib/macosx/x86_64
 ln -s /usr/lib/java/* .

которая исправила эту проблему.

0 голосов
/ 01 мая 2013

Произошло со мной при запуске некоторого Java-приложения с графическим интерфейсом на безголовом сервере с использованием переадресации X11 при установленном openjdk-7-jre-headless. Установка полной версии jre решила проблему:

apt-get install openjdk-7-jre
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...