SWT-jar выполняет собственные библиотеки, которые зависят от вашей ОС.У вас есть одна версия SWT для: MacOSX 32 и 64 битwinsows 32 и 64 битLinux 32 и 64 бит
Вы можете указать опцию -d32
jvm.Это заставит JVM работать в 32-битном режиме.Однако вам необходимо иметь 32-битную реализацию JVM, доступную в вашей ОС.
Вы также можете динамически загружать правильный SWT Jar: вы включаете в свое приложение и jar (swt-macosx-32bits & swt-macosx-64bits) и программно загружаете требуемый jar:
String osArch = System.getProperty ("sun.arch.data.model");
if (osArch == null) {
osArch = System.getProperty ("com.ibm.vm.bitmode");
}
URLClassLoader classLoader = (URLClassLoader) JarLoaderUtils.class.getClassLoader();
URL.setURLStreamHandlerFactory(new RsrcURLStreamHandlerFactory(classLoader));
Method addUrlMethod = URLClassLoader.class.getDeclaredMethod("addURL", URL.class);
addUrlMethod.setAccessible(true);
swtFileName = osArch.contains("64") ? SWT_MAC_x86_64 : SWT_MAC_x86;
URL swtFileUrl = new URL("rsrc:" + swtFileName);
addUrlMethod.invoke(classLoader, swtFileUrl);
Обратите внимание, что вы, кажется, запускаете свое приложение в macosx, вам также следует добавить опцию -XstartOnFirstThread
.