今天我用Eclipse3.2+SwtDesigner写了一个SWT小程序(实际上大部分代码都是SwtDesigner自动生成的,我只是加了一个按钮,并写了几行事件语句。)
写完之后,我迷茫了,如何将这个SWT程序打包成可以脱离Eclispe环境运行的jar包呢?我首先查阅了《Eclipse从入门到精通》(第一版)的第273页,遗憾的是陈刚老师使用的是Eclipse3.0.1,而我使用的是Eclipse3.2,plugins目录下的jar包名称大相径庭,看来只好自力更生了,我采用的方法是照猫画虎和反复试验,功夫不负有心人,终于被我搞定了。(1)在d:\下建立myswt目录,用来保存打包后的SWT程序,在myswt目录下建立lib目录,用来存放SWT程序需要使用的jar包。(2)将Eclipse\plugins目录下的org.eclipse.core.runtime_3.2.0.v20060603.jar和org.eclipse.swt.win32.win32.x86_3.2.0.v3232m.jar拷贝到d:\myswt\lib下。将org.eclipse.swt.win32.win32.x86_3.2.0.v3232m.jar中的swt-win32-3232.dll解压到d:\myswt目录下(3)将我上面的SWT程序利用Eclipse的导出功能导出为myswt.jar文件,导出过程略,其中的清单文件manifest.txt的内容如下:Manifest-Version: 1.0Class-Path: ./lib/org.eclipse.core.runtime_3.2.0.v20060603.jar ./lib/org.eclipse.swt.win32.win32.x86_3.2.0.v3232m.jarMain-Class: MyApp一定要注意每个":"后面都有一个空格如果大家对导出过程不太了解,请参考《Eclipse从入门到精通》(第一版)的第274页。(4)将myswt.jar拷贝到d:\myswt下。(5)把myswt.jar的文件定义成用javaw来默认打开,则双击myswt.jar即可运行。