Я написал графический интерфейс Java с использованием SWT. Я упакую приложение, используя ANT script (фрагмент ниже).
<jar destfile="./build/jars/swtgui.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="org.swtgui.MainGui" />
<attribute name="Class-Path" value="." />
</manifest>
<fileset dir="./build/classes" includes="**/*.class" />
<zipfileset excludes="META-INF/*.SF" src="lib/org.eclipse.swt.win32.win32.x86_3.5.2.v3557f.jar" />
</jar>
Это создает единую банку, которую в Windows я могу просто дважды щелкнуть, чтобы запустить мой графический интерфейс. Недостатком является то, что я должен был явно упаковать пакет SWT Windows в свою банку.
Я хотел бы иметь возможность запускать свое приложение на других платформах (в первую очередь Linux и OS X). Самый простой способ сделать это - создать специфичные для платформы банки, которые упаковали соответствующие SWT файлы в отдельные JAR файлы.
Есть ли лучший способ сделать это? Возможно ли создать один JAR, который будет работать на нескольких платформах?