install4j与exe4简介——Java应用程序打包工具

对于已经完成的Java应用程序开 发项目,从商业化角度看,应该制作成安全稳定的安装程序包来保证产品的安全和企业的利益。现在市面上比较高效的商业化工具有 installshield,installanywhere, install4j等,installshield适合C,C++,Delphi,PB,VB等;而后两者适合Java应用程序的打包制作。下面主要以 InstallAnywhere7.1为例,详细说明如何来给一个Java应用程序制作安装包。Java应用程序项目开发测试完成后,企业需要将此打包存 档(即jar文件),并制作成商业化安装程序。

1. 各版本的JDK都提供jar实用程序,其基本语法如下:
jar <option string> [JAR] [manifest file] [input files]
option string用于指定jar实用程序执行的操作,因此必须指定(下面列出各参数及使用方法)。
c 创建新的或空的压缩档
v 列出目录表
x 解压所有文件
x file 解压指定文件
f 指出“我准备向你提供文件名”。若省略此参数,jar会假定它的输入来自标准输入;或者在它创建文件时,输出会进入标准输出内
m 指出第一个参数将是用户自建的详情表文件的名字
v 产生详细输出,对jar做的工作进行巨细无遗的描述
O 只保存文件;不压缩文件(用于创建一个JAR文件,以便我们将其置入自己的类路径中)
M 不自动生成详情表文件,大多情况不会用到。
下面是调用jar的一些典型方法:
jar cf myJarFile.jar *.class
用于创建一个名为myJarFile.jar的JAR文件,其中包含了当前目录中的所有类文件,同时还有自动产生的详情表文件。
jar cmf myJarFile.jar myManifestFile.mf *.class
与前例类似,但添加了一个名为myManifestFile.mf的用户自建详情表文件。
jar tf myJarFile.jar
生成myJarFile.jar内所有文件的一个目录表。
jar tvf myJarFile.jar
添加“verbose”(详尽)标志,提供与myJarFile.jar中的文件有关的、更详细的资料。
jar cvf myApp.jar audio classes image
假定audio,classes和image是子目录,这样便将所有子目录合并到文件myApp.jar中。

        一般来说,在Java应用程序开发的过程中都会用到第三方库文件,在制作安装包时最好将企业自主开发的和第三方库分离开。因此,在制作成jar文件之前, 先写一个mainfest文件(用户自建详情表单文件,后缀名是.mf),在制作jar文件的过程中用于指出一个使用验证信息说明相关jar文件的文件 (即当前项目使用到的第三方jar库文件)。


10.2 install4j exe4j

官方主页:http://www.ej-technologies.com/download/exe4j/files.php

10.2.1 install4j

Install4j is a cross platform Java installer that produces native launchers and installers for all major platforms. Install4j offers an intuitive GUI that makes it easy to quickly define installation projects. A command line compiler and integration for Apache ANT are included.

install4j 是一个功能强大的, 多平台Java 安装文件生成工具,用于生成Java 应用程序本地化的安装及应用程序发布。install4j 的优异性在于它易于使用,紧密的集成到目标平台,以及灵活的JRE 管理与部署选项。

install4j 的图形用户界面中可以实现的功能:

* 完全自定义发布树

在发布树的每一个目录中,你能设置整个目录内容或是磁盘上任何目录的单个文件。定义的视图与结果视图让你能完全控制安装程序将发布的文件。

* 处理特定平台的差异

install4j 提供方便的“包含/排除”机制,使其适应平台方式来进行发布。

* 针对Unix, Linux Mac OS X 所定义的文件权限

对发布树的每一个元素,当其安装在类似于Unix 这样的平台上时,你能自定义用户访问的权限。       

* 定义优良的卸载策略

对发布树的每一个元素,你能决定在卸载时是否删除它。

* 定义覆盖策略

对发布树的每一个元素,你能配置不同的覆盖策略,当安装过程中需要覆盖文件时,这些覆盖策略会指示nstall4j 进行相应的操作。

* 定义安装的组件

你能定义文件及目录的分组,形成分离的安装组件,这样你就可提供给用户来选择只安装一定的组件。

10.2.2 exe4j

exe4j 可以打包成各种格式的exe ,也可以把jar 打包进exe ,也可以引用一个外部的jar 文件,还可以打包成windows 服务的程序,并且可以设置最低JRE 的版本,还可以设定启动画面。虽然Java 6.0 已经实现了这一点,但是还是没有exe4j 生成的启动画面快。

也可以用exe4j 打包Java 应用,然后用install4j 发布java 应用。install4j 不但用于打包很合适, 并且它还提供了一组很强大很实用的与平台相关的API ,这些对于扩展我们的程序也是有很大的帮助的。

 

9. 开源NSISEclipseNSIS

NSIS 官方主页:http://nsis.sourceforge.net/Main_Page

EclipseNSIS 官方主页:http://eclipsensis.sourceforge.net/index.shtml

NSIS (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers. It is designed to be as small and flexible as possible and is therefore very suitable for internet distribution.

NSIS Windows 下的一个安装与卸载程序制作工具,采用SuperPiMP 技术,使用简洁的脚本文件生成单文件的安装程序。 可通过样例修改或根据自己要求编写 NSI 脚本文件来定制自己的安装系统,可实现许可协议的显示、安装类型的选择、写入注册表、写入INI 文件、连接程序外壳、语句跳转、提示信息显示、创建卸载程序、定制安装和卸载程序的图标、创建快捷方式等其他安装程序应有的功能,是一款操作简单、功能强大的高效率安装软件。其中,MakeNSISW 是脚本编译器,负责制定脚本文件编译成对应的EXE 文件,并可以进行测试安装。

EclipseNSIS is a plugin for the Eclipse platform which enables editing, compiling and testing Nullsoft Installer (NSIS) scripts.

参考网址:

(1)http://www.blogjava.net/huliqing/archive/2008/04/18/193907.html
        (2)http://blog.csdn.net/diggywang/archive/2006/07/20/946981.aspx
      (3)http://www.chinadforce.com/redirect.php?tid=850193&goto=lastpost(install4j打包方法)

你可能感兴趣的:(install4j与exe4简介——Java应用程序打包工具)