1 jar文件简介
jar文件格式以流行的zip文件格式为基础。与zip文件不同的是, jar文件不仅用于压缩和发布, 而且还用于部署和封装库、组件和插件程序, 并可被像编译器和JVM这样的工具直接使用[1]。在jar中包含特殊的文件, 如MANIFEST和部署描述符, 用来指示工具如何处理特定的jar文件。在发布Java应用程序时, 通常使用jar命令生成相应的jar文件。jar文件通常用来压缩保存多个c l a s s文件, 可置入标明主类的文件M A N I F E S T.M F, 这样在装有J R E (J a v a Runtime Environment, Java运行环境) 的机器上双击jar文件, 即可执行[2]。
2 jar命令详解
虽然jar文件容易建立, 但要创建一个可正常执行的jar文件, 还是需要关注多个方面的细节。
jar命令的使用格式如下。
j a r{c t x u}[v f m 0 M][j a r-文件][MANIFEST-文件][-C目录]文件名...。
其中{ctxu}是jar命令的子命令, 每次jar命令只能包含ctxu中的一个, 它们分别表示。
-c创建新的jar文件包;
-t列出jar文件包的内容列表;
-x展开jar文件包的指定文件或者所有文件;
-u更新已存在的jar文件包 (添加文件到jar文件包中) 。
[vfm0M]中的选项可以任选, 也可以不选, 它们是jar命令的选项参数, 它们分别表示。
-v生成详细报告并显示到标准输出;
-f指定jar文件名, 通常这个参数是必须的;
-m指定需要包含的MANIFEST清单文件;
-0只存储, 不压缩, 这样产生的jar文件包会比不用该参数产生的体积大, 但速度更快;
-M不产生所有项的清单 (MANIFEST) 文件, 此参数会忽略-m参数。
[jar-文件]即需要生成、查看、更新或者解开的jar文件包, 它是-f参数的附属参数。
[MANIFEST-文件]即MANIFEST清单文件, 它是-m参数的附属参数。
[-C目录]表示转到指定目录下去执行这个jar命令的操作。它相当于先使用cd命令转该目录下再执行不带-C参数的jar命令, 它只能在创建和更新jar文件包的时候可用。
文件名指定一个文件目录列表, 这些文件目录就是要添加到jar文件包中的文件目录。如果指定了目录, 那么jar命令打包时会自动把该目录中的所有文件和子目录放入包中。
3 使用jar命令发布Java程序举例
我们使用一个实例来说明Java应用程序的打包发布, 假设我们编写的Java应用程序源文件为:MainClass.java、SubClass1.java、Sub Class2.java。其中, Main Class.java为主类所在的源文件, 主类名为MainClass。那么, 我们应该怎样将其打包发布呢?具体的操作步骤如下。
(1) 首先, 我们需要将java源文件全部编译, 生成字节码文件。假设生成的字节码文件为:MainClass.class、SubClass1.class、Sub Class2.class。
(2) 在当前目录下使用jar命令将其打成jar文件包MyApplication.jar, 命令如下:
其中, 参数列表中的c指的是创建新的jar文件包, v指的是生成详细报告并显示到标准输出, f指的是指定j a r文件名, MyApplication.jar指的是我们创建的jar文件包名, *.class指的是将当前目录下所有的字节码文件全部导入新生成的MyApplication.jar包中。注意, 当前这个jar包并不能双击直接运行。
(3) 通过解压缩工具, 即可查看并修改MyApplication.jar包中的内容。例如使用WinRAR解压缩工具, 打开这个jar包, 其的目录如下。
其中M E T A-I N F文件夹下M A N I F E S T.M F文件包含相应的文件信息, 并可用来指明运行环境如何处理特定的jar文件, 其内容如下。
其参数含义为, Manifest版本为1.0版, 开发运行环境JDK版本为1.6.0_07版。需要在其后加上一行。
其中“MainClass”为主类名称, 指明程序入口, 使得程序可以自动运行, 注意, “:”后面有一个空格。
(4) 如果操作系统下安装了解压缩软件, 如WinRAR等, 则在默认状态下jar文件就会与其关联, 导致双击操作指定为解压缩, 而不是运行jar文件中的类。因此, 需要编写一个批处理文件runable.bat指定其运行方式, 其内容如下。
在MS-DOS环境下, 批处理文件bat文件是可执行文件, 有一系列命令构成, 其中可以包含对其他程序的调用。
在本例中, javaw用于静默执行java程序, -j a r用于运行打包好的j a r包, MyApplication.jar则指明了包名。
(5) 将My Application.jar和runable.bat放在同一目录下, 双击runable.bat即可自动执行程序。
(6) 这时最好另外再创建一个帮助文件, 如help.txt, 内容为:“请双击runable.bat文件运行本程序”。
(7) 最后, 将r u n a b l e.b a t文件、MyApplication.jar文件和帮助文件help.txt一起发布。
4 结语
Java程序不像其他程序设计语言编写的程序, 可直接生成可执行文件, 它需要在JDK编译环境下或其他集成环境下运行;或是利用JDK所提供的jar命令, 对字节码文件进行打包发布。本文通过实例介绍了Java应用程序的打包发布的基本流程。
摘要:Java语言是近年来较为流行的编程语言, Java应用程序编写并编译运行后, 需要对其进行打包发布。本文简要介绍了Java应用程序打包发布的流程, 并针对其中的一些常见问题做出了解答。
关键词:Java,程序发布,jar
参考文献
[1] 胡伏湘, 雷军环.Java程序设计实用教程[M].北京:清华大学出版社, 2005:292~293.
[2] 耿祥义.Java课程设计[M].北京:清华大学出版社, 2004:21~22.
【Java应用程序的打包发布】相关文章:
PLC在腈纶短纤打包机系统中的应用10-14
PLC在腈纶短纤打包机系统中的应用09-11
java程序员的进阶09-21
基于JAVA的数据库开发和应用09-10
java程序员常犯的错误06-19
java程序员必看的书籍06-20
怎么才能成为以为合格的java程序员04-21
项目任务驱动法应用于Java程序设计的教学改革与研究03-02
高职院校Java平台的《程序设计基础》课程教学探讨09-12
关于Java技术在嵌入式系统中的应用研究12-31