我用SWT编写了一个Java GUI.我使用ANT脚本打包应用程序(下面的片段).
<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>
Run Code Online (Sandbox Code Playgroud)
这会生成一个jar,在Windows上我只需双击即可运行我的GUI.缺点是我必须将Windows SWT包显式打包到我的jar中.
我希望能够在其他平台(主要是Linux和OS X)上运行我的应用程序.最简单的方法是创建特定于平台的jar,将适当的SWT文件打包到单独的JAR中.
有一个更好的方法吗?是否可以创建一个可在多个平台上运行的JAR?