MyEclipse打包SWT浅析

MyEclipse打包SWT的缘由,最近做C/S界面使用了SWT,根据需求开发了一个类似“飞鸽”的传输终端,工程需要打jar包发布,并采用bat运行,打包发布的时候还真是遇到了点麻烦,下面我将自己的做法共享下

MyEclipse打包SWT步骤:java工程打jar包:

1.右键点击工程->Export...->java->jar,next

2.如图1所示,选择存储路径C:\transferterminate.jar,并选择打包的文件,.springBeans,.classpath,.project,next,next

3.选择启动界面的主类,这里是SendFileView,Finish。万里长征才完成第一步……

4.在C盘下建立文件夹C:\transferterminate

a.将刚才打的jar,放进来

b.新建lib文件夹,将工程引用的外部jar都放在这里,如swt的org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar等

c.由于swt需要dll支持,可将四个dll文件直接拷贝到C:\transferterminate文件夹下

5.将工程的配置文件夹config直接考到C:\transferterminate下,该文件夹中包括异常处理xml,logo等

6.书写bat文件

@echo off  


start javaw -jar transferterminate.jar  



@echo on 

7.替换jar包中的MANIFEST.MF文件

我的方法是用winrar打开transferterminate.jar,找到META-INF文件夹,将自己写好的MANIFEST.MF,直接拖拽到该文件夹下,覆盖原来的MANIFEST.MF

MANIFEST.MF的内容(这个文件的格式很重要,偶也是试了半个多小时才弄好):

Manifest-Version后空一个空格,Class-Path的jar后直接回车,在lib/...前空两个空格,最后一行的jar空一个空格

Manifest-Version: 1.0   


Class-Path: lib/ant.jar lib/dom4j-1.6.1.jar lib/jdom.jar  


  lib/org.eclipse.core.commands_3.2.0.I20060605-1400.jar  


  lib/org.eclipse.core.runtime_3.2.0.v20060603.jar  


  lib/org.eclipse.equinox.common_3.2.0.v20060603.jar  


  lib/org.eclipse.equinox.registry_3.2.1.R32x_v20060814.jar  


  lib/org.eclipse.jface.text_3.2.1.r321_v20060810.jar  


  lib/org.eclipse.jface_3.2.1.M20060908-1000.jar  


  lib/org.eclipse.osgi_3.2.1.R32x_v20060919.jar  


  lib/org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar  


  lib/org.eclipse.text_3.2.0.v20060605-1400.jar  


  lib/org.eclipse.ui.forms_3.2.0.v20060602.jar  


  lib/org.eclipse.ui.workbench_3.2.1.M20060906-0800.jar   


Sealed: true  


Main-Class: com.ideal.idt.transferterminate.iface.SendFileView