Eclipse3.2下的SWT应用程序的打包方法

来源:互联网 发布:秋的寓意知乎 编辑:程序博客网 时间:2024/06/02 00:28
今天我用Eclipse3.2+SwtDesigner写了一个SWT小程序(实际上大部分代码都是SwtDesigner自动生成的,我只是加了一个按钮,并写了几行事件语句。)
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class MyApp
{

    
/**
     * Launch the application
     * 
     * 
@param args
     
*/

    
private static int i;

    
public static void main(String[] args)
    
{
        
final Display display = Display.getDefault();
        
final Shell shell = new Shell();
        shell.setSize(
500375);
        shell.setText(
"SWT Application");

        shell.open();

        
final Button button = new Button(shell, SWT.NONE);
        button.addSelectionListener(
new SelectionAdapter()
        
{
            
public void widgetSelected(SelectionEvent arg0)
            
{
                button.setText(
"白点" + (++i) + "");
            }

        }
);
        button.setText(
"点我");
        button.setBounds(
1811054822);
        shell.layout();
        
while (!shell.isDisposed())
        
{
            
if (!display.readAndDispatch())
                display.sleep();
        }

    }

}

写完之后,我迷茫了,如何将这个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.0
Class-Path: ./lib/org.eclipse.core.runtime_3.2.0.v20060603.jar
 ./lib/org.eclipse.swt.win32.win32.x86_3.2.0.v3232m.jar
Main-Class: MyApp
一定要注意每个":"后面都有一个空格
如果大家对导出过程不太了解,请参考《Eclipse从入门到精通》的第274页。
(4)将myswt.jar拷贝到d:/myswt下。
(5)把myswt.jar的文件定义成用javaw来默认打开,则双击myswt.jar即可运行。