您的位置:首页 > 其它

用Jar命令制作可执行文件

2007-06-25 14:35 302 查看
刚学java时,总是见到很多jar文件,就是不知道干什么用的,可能初学的朋友也在这方面有点困惑,下面简单的介绍一下:

jar是java的一种文档格式,和zip比较相近,你可以试试用解压缩软件如WinRAR打开看看,它和zip文件的主要区别在于jar文件包含了一个 META-INF/MANIFEST.MF 文件,它是打包的关键性文件,主要是设置执行入口类和支持库的路径。可执行的jar文件里面有Main-Class,它后面跟上可执行类的全名(包括包名),比如说我有一个类AddressList.class它在包Address下,目录结构是Address/AddressList.class,那么必须用java Address.AddressList 命令可以执行这个类,才可以将它打成可执行的jar文件。

在命令提示符下输入jar,会出现一堆参数,制作可执行jar文件主要用到-c(创建新的归档文件)、-v(在标准输出中生成详细输出)、-f(指定归档文件名)、-m(包含指定清单文件中的清单信息)。还是以上面的AddressList类进行说明,新建一个manifest.mf文件,它和Address目录平级,名字可以随便,不过后缀必须是mf,用记事本打开它,在里面输入 Main-Class: Address.AddressList(回车),注意冒号后面有一个空格,最后还得加个回车,我测试过了,不加不行,加多了也不行。现在准备工作已经做好了,在命令提示行下转到manifest所在目录输入: jar cvfm test.jar manifest.mf Address,注意cvfm顺序不能随便改,即在当前目录生成"test.jar",双击即可运行或者输入命令: java -jar test.jar。

利用jar命令还可以解开jar文件,命令如下: jar xvf test.jar,可以看到manifest.mf被包含在META-INF目录下了,其他不变.

有时我们见到.bat文件也可运行java程序,它是一个批处理文件,里面包含java 的一些命令。下面也简单的说一下:建一个bat文件"test.bat",若要运行class文件在里面输入:java Address.AddressList,若要运行jar文件,在里面输入java -jar test.jar。这时双击test.bat会出现一个dos窗口,看着很不爽,我们就需要对其改进改进了,运行class用start javaw Address.AddressList,运行jar用start javaw -jar test.jar,这样运行时dos窗口一闪而过,记得LumaQQ就是这样,可还是有人觉得不够好,非要使DOS窗口闪都不闪,那么在start前面一行加上@echo off就好了,其中echo off表示在此语句后所有运行的命令都不显示命令行本身,@表示不显示本命令行。不过我发现一个小小的问题,就是如果你总是更改bat文件里的内容,就容易导致运行时出现问题,如加了@echo off还是会出现DOS窗口一闪而过,或者该出现DOS窗口,但它不出现,这时候把bat文件里面的内容复制放在另一个bat文件里就好了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: