как запустить файл JAR на Mac - PullRequest
1 голос
/ 05 августа 2011

Я разработал приложение с external library(DJProject) в eclipse для ОС Windows и успешное выполнение файла myjar в Windows, но когда я переношу myjar в macintosh, у меня возникает исключение;

Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
    at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
    at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
    at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
    at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at org.eclipse.swt.graphics.Device.<clinit>(Unknown Source)
    at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface$InProcess.initialize(SWTNativeInterface.java:559)
    at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface$InProcess.access$2(SWTNativeInterface.java:558)
    at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.initialize_(SWTNativeInterface.java:238)
    at chrriis.dj.nativeswing.swtimpl.NativeInterface.initialize(NativeInterface.java:71)
    at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.open_(SWTNativeInterface.java:316)
    at chrriis.dj.nativeswing.swtimpl.NativeInterface.open(NativeInterface.java:100)
    at SwtClassDeneme.runBrowser(SwtClassDeneme.java:58)
    at SwtClassDeneme.main(SwtClassDeneme.java:49)

как я могу решить эту ситуацию?

спасибо

Ответы [ 2 ]

1 голос
/ 05 августа 2011

64-битный Eclipse для OSX

Получить 64-битные двоичные файлы SWT из этой установки.Вам повезло, что они наконец решили создать 64-битный двоичный файл SWT для OSX, ранее они утверждали, что никогда не будут.

plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.6.1.v3655c.jar (версия в конце будет отличаться) должна содержать то, что выхочу.

Временные комментарии 08.05.2011

Также с прагматической точки зрения понимаем, что у Apple есть End of Lifed в своей JVM на OS X. Они ничего не хотятделать с Java, но это разные дебаты.Насколько я понимаю, хорошие люди, работающие с OpenJVM, работают на OS X.

Временные комментарии Конец

0 голосов
/ 05 августа 2011

SWT имеет собственный код. Таким образом, вы должны создать свой пакет, чтобы точно определить цель, к которой вы стремитесь. Я немного удивлен, что вы получили только 32-битную и 64-битную ошибку, я почти ожидал, что она попытается загрузить библиотеки DLL Windows!

Вам необходимо настроить SWT для работы с 64-битной MacOS JVM. Если вы используете RCP, вам нужны разные фрагменты OSGi. Если вы используете нативный SWT, вам нужно работать на этом уровне.

Часть того, что вам нужно знать, существует в предыдущем вопросе / ответе, см .:

Создание кроссплатформенного Java SWT-приложения

...