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

     今天我用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即可运行。



posted on 2007-05-06 15:08 我为J狂 阅读(3496) 评论(6)  编辑  收藏 所属分类: 图形用户界面

评论

# re: Eclipse3.2下的SWT应用程序的打包方法 2007-05-06 16:34 交口称赞

http://www.blogjava.net/vip01/archive/2007/04/19/111853.html
http://www.blogjava.net/vip01/archive/2007/04/19/111856.html
还有这2种方法

最好用SWT.jar官方有下载  回复  更多评论   

# re: Eclipse3.2下的SWT应用程序的打包方法 2007-05-06 21:26 我为J狂

@交口称赞
看了您的两篇文章,感觉写得都很不错,和我的一样都是宝贵的经验。  回复  更多评论   

# re: Eclipse3.2下的SWT应用程序的打包方法 2007-05-07 00:51 icom

good........  回复  更多评论   

# re: Eclipse3.2下的SWT应用程序的打包方法 2007-05-07 08:37 ddd

晕, 还以为是打exe包呢。。。  回复  更多评论   

# re: Eclipse3.2下的SWT应用程序的打包方法 2008-07-02 23:52 lhzw2001

兄弟加不了你的Q啊,能加我吗? 24687613 加完后,请删掉这个回复~~~
3Q  回复  更多评论   

# re: Eclipse3.2下的SWT应用程序的打包方法 2009-06-12 10:58 匿名

非常感谢,按照你的方式,i did it!!!!!!!!!!  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2007年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(11)

随笔分类(48)

文章分类(29)

常去逛逛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜