2013-02-13 3 views
1

Я пытаюсь создать пакет для запуска моего приложения SWT за пределами затмения.Запуск SWT APP под окнами вне Eclipse

Под linux мне удалось успешно управлять под bash. Но когда я пытаюсь запустить под окнами я получаю следующее сообщение об ошибке:

C: \ nanoffline> Java -cp "SebraeNaNOffline_lib_win_x86/*" -jar SebraeNaNOffline.jar Исключение в потоке "главный" java.lang.UnsatisfiedLinkError: Невозможно загрузить 64-битные библиотеки SW T на 32-разрядной JVM на org.eclipse.swt.internal.Library.loadLibrary (Library.java:214) на org.eclipse.swt.internal.Library.loadLibrary (Библиотека. java: 194) at org.eclipse.swt.internal.C. (C.java21) at org.eclipse.swt.internal.Converter.wcsToMbcs (Converter.java:63) at org.eclipse.swt .internal.Converter.wcsToMbcs (Converter.java:54) at org.eclipse.swt.widgets.Display. (Показать .java:. 132) на br.com.infosolo.sebrae.nanoffline.IniciarOffline (IniciarOffl ine.java:31)

Я уже попробовать указать -Djava.library.path параметр, поместите библиотеки DLL в SWT на окна, окно/система, окно/system32 ...

Я использую следующий SWT JAR (поставляются с раздачей затмения 32bit окон: org.eclipse.swt.win32.win32.x86_3.100.1.v4234e.jar

Полный список банок под путь в к. К.:

antlr-2.7.7.jar com.ibm.icu_4.4.2.v20110823.jar commons-beanutils-1.8.3.jar commons-collections-3.2.1.jar commons-digester-1.8.jar commons-lang-2.5.jar commons-logging-1.1.1.jar dom4j-1.6.1.jar hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.9.Final.jar hibernate-entitymanager-4.1.9.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar iText-2.1.7.jar jasperreports-4.8.0.jar jasperreports-fonts-4.8.0_0.jar javassist-3.17.1-GA.jar jboss-logging-3.1.0.GA.jar jboss-transaction-api_1.1_spec-1.0.0.Final.jar org.eclipse.core.commands_3.6.0.I20110111-0800.jar org.eclipse.core.databinding.beans_1.2.100.I20100824-0800.jar org.eclipse.core.databinding.observable_1.4.0.I20110222-0800.jar org.eclipse.core.databinding.property_1.4.0.I20110222-0800.jar org.eclipse.core.databinding_1.4.0.I20110111-0800.jar org.eclipse.core.runtime_3.7.0.v20110110.jar org.eclipse.equinox.common_3.6.0.v20110523.jar org.eclipse.equinox.registry_3.5.101.R37x_v20110810-1611.jar org.eclipse.jface.databinding_1.5.0.I20100907-0800.jar org.eclipse.jface.text_3.7.2.v20111213-1208.jar org.eclipse.jface_3.7.0.v20110928-1505.jar org.eclipse.nebula.widgets.formattedtext_1.0.0.201301250959.jar org.eclipse.osgi_3.7.2.v20120110-1415.jar org.eclipse.swt.win32.win32.x86_3.100.1.v4234e.jar org.eclipse.swt_3.100.1.v4234e.jar org.eclipse.text_3.5.101.v20110928-1504.jar org.eclipse.ui.forms_3.5.101.v20111011-1919.jar org.eclipse.ui.workbench_3.7.1.v20120104-1859.jar sqlite-jdbc-3.7.15-SNAPSHOT.jar swt-awt-win32-4234.dll swt-gdip-win32-4234.dll 77.824 swt-webkit-win32-4234.dll swt-wgl-win32-4234.dll swt-win32-4234.dll swt-xulrunner-win32-4234.dll weld-se-core.jar weld-se.jar


Я попытался извлечь swt dll (внутри swt jar), но я получил ту же ошибку (с указанием параметра -Djava.library.path).

Мои окна - Windows XP 32bit, а JVM - 1.7.0_13 32 бит.

Когда я пытаюсь запустить под окнами 64-разрядных (Windows8) с 64 SWT LIBS, происходит следующее: C: \ nanoffline> Java -cp "SebraeNaNOffline_lib_win/*" -jar SebraeNaNOffline.jar Исключение в потоке "основной" java.lang.UnsatisfiedLinkError: Не удалось загрузить SWT li brary. Причины: no swt-gtk-3740 in java.library.path no swt-gtk в java.library.path Невозможно загрузить библиотеку: C: \ Users \ Infosolo.swt \ lib \ win32 \ x86_64 \ swt- GTK-3740 .dll не удается загрузить библиотеку: C: \ Users \ Infosolo.swt \ Lib \ win32 \ x86_64 \ свт-gtk.dll

at org.eclipse.swt.internal.Library.loadLibrary(Library.java:285) 
    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:194) 
    at org.eclipse.swt.internal.C.<clinit>(C.java:21) 
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63) 
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54) 
    at org.eclipse.swt.widgets.Display.<clinit>(Display.java:132) 
    at br.com.infosolo.sebrae.nanoffline.IniciarOffline.<clinit>(IniciarOffl 

ine.java:31)


Запуск приложения swt под Eclipse (запуск из затмения), все работает нормально.

Заранее спасибо.

ответ

0

Моя проблема была в архиве META-INF \ MANIFEST.MF.

В манифесте указывалась ссылка linux gtk SWT jar.

Теперь я изменил все SWT LIB на общее имя swt.jar.Когда я меняю платформу, мне просто нужно заменить банку тем же именем без изменения файла манифеста.

Смежные вопросы