如何打包swt
用eclipse(这里使用代号为 luna)rcp版本操作,->File->Export->Java->JAR file->next按钮,选上你的项目和.classpath、.project,next,select the class of the application entry point中选择一个主类然后生成jar文件。
生成一个.jar文件,这里假设为s1.jar,修改后缀名为rar,解压获得s1文件夹,打开META-INF文件夹,用记事本打开MANIFEST.MF,修改一下内容
Manifest-Version: 1.0
Main-Class: s1.main
Class-Path: ./lib/swt.jar ./lib/jface.jar ./lib/runtime.jar
说明 Main-Class是写你的主类名,我的主类是s1.main
序号 | 新名字 | 原类库名 | 一般是eclipse\plugins目录下 |
1 | swt.jar | org.eclipse.swt.win32.win32.x86_64_3.103.2.v20150203-1351.jar | plugins\org.eclipse.swt.win32 |
2 | jface.jar | org.eclipse.jface_3.10.2.v20141021-1035.jar | plugins\org.eclipse.jface_ |
3 | runtime.jar | org.eclipse.core.runtime_3.10.0.v20140318-2214.jar | plugins\org.eclipse.core.runtime_ |
为什么要改名,貌似名字太长,不能成功。
此外还需要找一个swt-win32-版本号.dll ,luna版本的是swt-win32-4430.dll,解压swt.jar,也就是org.eclipse.swt.win32.win32.x86_64_3.103.2.v20150203-1351.jar,可以获得这个dll
新建一个lib文件夹把上的三个jar拷贝到lib中。回到刚才的s1文件夹,进入根目录,全选,右键添加到压缩文件,把s1.rar或者s1.zip该成s1.jar。
下面是它们的目录,同一目录
C盘:
|
|
s1.jar
|
|
lib文件夹
|
|
swt-win32-4430.dll
它们的关系是同级的根目录关系
这里请注意,必须是lib,见下图