SWT-элементы "Runnable Jar" не работают - PullRequest
3 голосов
/ 07 ноября 2011

У меня проблема с развертыванием приложения с компонентами SWT.

Я прочитал SO link и включил SWT с колебанием в мой код.
Когда я запускаю его в затмении 3.7.1 Индиго ( Ctrl + F11 или Alt + Shift X , J ),Он отлично работает внутри eclipse.

Однако, когда я экспортирую файл в виде «запускаемого JAR»:
Само приложение работает нормально, но средства выбора SWT-файла этого не делают.

КогдаЯ экспортирую файл в виде JAR, т.е. добавляю манифест в соответствии с: ссылка вики-затмения + SO ссылка + SO ссылка + SO ссылка и я получаю сообщение об ошибке в разделе устранения неполадок (Eclipse Wiki).Я проверил все решения, перечисленные там, но они не работали для меня.

Вопросы:

  1. Почему средства выбора файлов SWT работают в eclipse, а не в "выполнимой банке"?
  2. Почему мастер экспорта "runnable jar" в eclipse не включает автоматически SWT?
  3. Почему экспорт как jar не работает с манифестом, когда swt.jar правильно назван ив папке времени выполнения, и основной класс верен, но все равно выдает ошибку?:
    Could not find the main class. Program will exit.

Я предполагаю, что самым простым решением было бы просто использовать средства выбора файлов Swing.Но я хотел знать, как заставить приложения SWT работать вне затмения.

С уважением

ОБНОВЛЕНИЕ: Оказывается, что все файлы .jar (в сборке библиотекипуть) необходимо добавить в манифест.Я просто добавил swt.jar, поэтому я получил ошибку Could not find main class....Добавление другого .jar к манифесту, решенному выше, вопрос Q3.

При запуске из командной строки: компоненты SWT работают нормально при экспорте обоих jar + runnable jar.

Однако компоненты SWT нене работает при попытке запустить работающую банку двойным щелчком.Q1 и Q2 по-прежнему не решены (средства выбора SWT-файлов не работают при двойном щелчке, но работают в cmd java -jar ...).

1 Ответ

1 голос
/ 07 ноября 2011

Решено Q1, Q2 с помощью java может запускать jar из cmd, но не двойным нажатием .

Как ни странно, обновление до jre 7u1 также решило мою проблему.Скачано с http://www.oracle.com/technetwork/java/javase/downloads/jre-7u1-download-513652.html.

Манифест Q3:

Версия манифеста: 1.0

Путь к классу: swt.jar example.jar (добавить другие файлы .jar после пробела, я забыл другой jar)

Main-Class: mypackage.MyClassWithMainMethod

(пустая строка в конце файла)

Спасибо за помощь

Дальнейшая ясность: вы можете вручную создать манифест при экспорте в виде "баночки".Не нужно делать это вручную, при экспорте в качестве "готовой банки".

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