java -d32 -jar yourapp.jar If you get Unrecognized option: -d32 , it's not available. Don't waste time here – fix the library instead. If you're distributing a desktop app, don't bundle a specific swt.jar . Instead, use a launcher script that adds the correct SWT JAR based on the detected platform and architecture.
You can force your 64-bit JVM to run as 32-bit using -d32 , but this is rarely supported . Most 64-bit JDKs do not include 32-bit runtime support. cannot load 32-bit swt libraries on 64-bit jvm
<dependency> <groupId>org.eclipse.platform</groupId> <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId> <version>3.125.0</version> </dependency> The classifier ( win32.win32.x86_64 ) encodes both OS and architecture. For other platforms: java -d32 -jar yourapp
java -version Look for 64-Bit in the output. Example: Instead, use a launcher script that adds the
Replace the swt.jar in your project's classpath with the correct one. If you use Maven, never just add swt.jar manually. Use the official Maven artifacts with classifiers: