在Windows下,用C++或C#写的桌面软件编译之后都是以可执行文件(.exe)的形式出现,只需双击便可运行。然而用java写的桌面应用软件编译之后是以学多字节码文件(.class)的形式出现,本文介绍了怎样制作像exe一样的可执行jar文件。
1 将该软件包含的.class文件打包成jar文件。
如一个软件的结构如下 - soft
- control
Program.class
- model
Data1.class
Data2.class
...
- view
Frame.class
Pane1.class
Pane2.class
...
其中soft,control,model,view均为包,其他均为class文件
2 在相应目录下使用jar cvf soft.jar soft 打包成jar文件
3 更改jar文件中的MANIFEST.MF文件
Manifest-Version: 1.0
Main-Class: soft.control.Program
Class-Path: lib/ych.jar lib/mysql.jar
SplashScreen-Image: slash.jpg
Created-By: ych
其中Main-Class为必须项,指定main函数的入口类,在这里是Program.class;Class-Path指定了该程序要用到的外部包,这里用到了 ych.jar和mysql.jar(如果软件没用到外部包就不需要了);SplashScreen-Image指定了该软件的起始画面(一般用不着的);Created-By指明了开发者或开发公司,它和Manifest-Version均是自动生成的。
4 最后整个软件的目录结构如下:
soft.jar //可执行jar文件(如果用了SplashScreen-Image,则slash.jpg也包含在其中)
lib //所引用的外部库目录(这里包括ych.jar和mysql.jar)
data //软件运行时访问的外部文件资源目录,包括程序访问的文件等(tips:程序中必须使用相对路径来访问这些文件,如"data/config.xml","data/icon/logo.png"等)
5 到这里,就可以用java -jar soft.jar运行该软件了,或者直接双击运行(但要确保jar文件的默认打开方式是javaw.exe -jar,可在文件夹选项->选择jar文件->编辑文件类型->在用于执行操作的应用程序中输入"C:/Program Files/Java/jdk1.6.0/bin/javaw.exe" -jar "%1" %*)【根据jdk的安装路径有所修改】