将SWT工程打成 jar包需首先解决工程包含jar包问题。假设存在如下工程:
test (工程名)
|
| com (包名)
| |
| | MainModule.java (依赖hello.jar)
|
| hello.jar (jar包必须放在工程根目录下)
|
| MAINFEST.MF
其中MAINFEST.MF文件内容为:
Manifest-Version: 1.0 (冒号":"后都有以空格)
Class-Path: ./lib/hello.jar
Main-Class: com.MainModule (回车)
(为一空行)
使用eclipse将工程打成jar包
1.JAR Export只选择com包 (不选择.classpath .project .MAINFEST.MF文件)
2.Use existing manifest 选择 /test/MAINFEST.MF文件
在生成的test.jar同目录下新建lib目录,将hello.jar放入lib目录下,test.jar便可以运行
下面解决SWT工程打包问题:
Class-Path: ./lib/org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar
./lib/org.eclipse.core.runtime_3.2.0.v20060603.jar (jar包中间用空格隔开)
按照上述方法打成jar包,将org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar中的
swt-win32-3236.dll解压出来
将生成的swtTest.jar(假定生成为此文件名)和swt-win32-3236.dll放在同一目录
(假定此目录名为swtroot,后面会用到此目录)下,并新键lib目录,
将引入的两个jar文件放在lib目录下swtTest.jar便可以运行
下面解决可执行文件生成问题:
使用exe4j工具(网上到处都是)
1.运行exe4j,选择Regular mode(非“JAR in EXE mode”)
2.Short name of your application:应用程序名,随便写
Distruction source Directory:文件根目录,选择上文提到的swtroot目录
Execute dorectory:不必填写,表示与文件根目录相同
3.GUI application
Execute name: ***.exe
Icon File
是否单例模式下运行 (随便写,“单例模式”表示只有一个实例运行)
4.Class path:选择可执行的jar文件 (选择swtTest.jar)
Main class: (假设为swtTest.jar中的MainModule)
5.java version:用于版本控制
show splash screen:启动界面