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