首先保证工程可以通过绿箭头执行

然后在File菜单中选择New,先建立Archive下的Application

接下来的界面中大部分可以直接选择“Next”,除了下面的第3步,会询问是否需要将工程引用的其他jar包也加入进来(比如SQLServer的3个jar包等),应该选择“Include All”(加入)。

一直“Next”直到完成,工程中应该多出一个空的Application模块,点右键选择“Make”就会生成可执行的jar包。

这个jar已经可以执行了,如果想生成exe格式,需要再选择File à New à Archive à Executable JAR

接下来要问你把哪一个jar文件包装为exe文件,选择刚才生成的jar文件

后面会问你生成哪些操作系统下的可执行文件,选择Windows GUI。

全部完成后会在工程中生成空的Executable JAR模块,点右键选择“Make”,就会生成exe文件。

注意:该exe文件运行依然需要JRE和相应的环境配置。

使用InstallAnywhere7.1制作Java exe程序安装包
对于已经完成的Java应用程序开发项目,从商业化角度看,应该制作成安全稳定的安装程序包来保证产品的安全和企业的利益。现在市面上比较高效的商业化工具有installshield,installanywhere,install4j等,installshield适合C,C++,Delphi,PB,VB等;而后两者适合Java应用程序的打包制作。下面主要以InstallAnywhere7.1为例,详细说明如何来给一个Java应用程序制作安装包。
Java应用程序项目开发测试完成后,企业需要将此打包存档(即jar文件),并制作成商业化安装程序。
 
各版本的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库文件)。 
图1  Manifest文件的编写
 
如果使用JBuilder(JBuilder2005)开发Java应用程序项目,可以通过界面来操作生成所需要的jar档案文件:
1.       打开需要制作jar文件的工程;在当前工程下,在Object Gallery中(通过File—)New打开),选择Archive—〉Application;

               图2  JBuilder2005 Object Gallery

2.       点击OK之后,进入各参数设置界面:

图3  JBuilder2005 Archive Builder Step 1

3.       按照提示一步步填写,选择需要打包的文件。

图4 JBuilder2005 Archive Builder Step 2

4.       在Archive Builder的第三步中,不添加项目相关的第三方jar包,都选择Exclude All(如果使用JBuilder2005制作单个可执行程序,应都选Include All)。

              图5 JBuilder2005 Archive Builder Step 3

5.       添加先前已经定义好的mainfest文件或在Step4中创建:

              图6 JBuilder2005 Archive Builder Step 4

6.       余下的四个步骤读者可以自己根据Archive Builder的提示进行下去,非常简单,这里就不再多述。
7.       完成之后,再对其进行编译,便可得到相应得jar文件。
                           图7 编译jar文档
 
制作好档案文件(Jar文件)后,打开InstallAnywhere7.1,新建一个project,进入Advanced Designer(对于比较简单的Java应用程序,可以使用Project Wizard来制作,这里就不作说明,下面的步骤都在Advanced Designer下进行):
图8 InstallAnywhere7.1 Enterprise Edition Advanced Designer

1.    :基本的安装程序信息设置,如信息、描述、文件设置、平台、区域、规则等等。一般都能看懂,并且很容易正确填写。
2.    Project:定义安装程序的安装界面。如splash screen,background,frameUI等最直观的界面。还可以增加额外的Panel,如License,Password,Serial Number等,这些都在“Installer Panel Addition”和“Install Progress Panel”中定义。还可以定义在安装进行时的闪动画面Billboards;还可以增加安装帮助,给用户提供必要的安装信息。

图9 Advanced Designer Installer UI

Installer UI

3.    定义java应用程序需要安装的组件。可以设置好典型的安装组件(Typical),也可以让用户自定义组件;这些在Install Sets,Features,Components及Modules中设置。

                  
图10 Advanced Designer OrganizationOrganization
4.    :这个模块主要定义安装程序运行时的各个执行动作,如introduction、License Agreement、Serial Number、Choose Folder等。是对Install UI模块中定义的各Panel进行解释和执行,所以这里的panel数量和顺序一定要和Install UI中定义的相一致。

                 图11 Advanced Designer Pre-Install

Pre-Install

5.    :指定需要打包的文件,在这个模块中定义的路径就是安装程序执行完成后装在本地PC上的程序内部路径。通过Set Classpath和Add Launcher指定程序入口,还可添加快捷方式在程序组中。

                 图12 Advanced Designer InstallInstall
6.    :定义程序安装完成后的工作,如添加动态配置、注册表更改及重启计算机等动作,对于更高级的使用还可以对各Action进行脚本编写,具体的脚本编写规则及变量参数等,可以参考InstallAnywhere帮助文档。

                图13   Advanced Designer Post-Install

Post-Install

7.    :类似Pre-Install,定义卸载前的动作,如选择要卸载的模块等。
                                     
                 图14 Advanced Designer Pre-Uninstall

Pre-Uninstall

8.    :类似Post-Install,添加卸载完成后的操作,如重启计算机,添加相关提示等。

                 图15 Advanced Designer Post-Uninstall

Post-Uninstall

9.    :上述的各个模块都已经定义完成之后,可以选择不同的平台,VM版本,需不需要VM,以及跟踪日志,MSI文件生成等。最后,就可以用InstallAnywhere生成我们所需要的安装程序了。

                   图16 Advanced Designer BuilderBuild

JBuilder生成Exe的更多相关文章

  1. GUI生成exe文件

    gui如何生成exe文件: 已经有gui.m和gui.fig文件 1 安装编译器.已经安装好了vs10的. 2 设置编译器.在matlab命令行输入mex -setup,选择安装的c编译器 3 调用编 ...

  2. 手把手教你用python打造网易公开课视频下载软件5-python生成exe程序

    python程序生成exe文件,使用的是py2exe扩展包,下面写下具体的步骤: 第一步:新建conver2exe.py,内容如下: #coding:utf-8 from distutils.core ...

  3. Qt使用自带的windeployqt 生成exe来发布软件

    集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:Qt Widgets Application  和 Qt Quick Application.下面分别介绍这两类exe ...

  4. 用jsmooth + inno生成exe并制作简单安装包

    思路: 先由 Jsmooth把jar和相关资源打包生成exe,再由Inno把exe和资源文件打成安装包 一  Jsmooth 1 下载 安装 Jsmooth   地址:jsmooth.sourcefo ...

  5. 如何解决exe4j生成exe文件后弹出提示信息

    使用exe4j生成exe文件时会提示以上一段信息,这个主要是没有注册导致的,在welcome to exe4j的右下角有一个注册信息的地方,去找个注册码,就OK了. 通用注册码:L-g782dn2d- ...

  6. [原创]Matlab之GUI生成EXE文件

    近期因为项目需要,简化流程,写了一些Matlab程序,并配备上了GUI界面使其简单易用.然后问题来了,可移植性.使用Matlab生成EXE文件(可以封装很多的function),然后在一台安装有Mat ...

  7. vs2010如何生成EXE文件如何更改EXE程序图标

    vs2010如何生成EXE文件 F5启动调试后,进入下面路径查找: 我的文档\Visual Studio 2010\Projects\项目名称\项目名称\bin\Debug 如何更改EXE程序图标 其 ...

  8. matlab改变GUI和figure左上角图标的方法,并生成exe文件

    1. GUI左上角图标的更改,假设GUI的Tag为figure1,在其OpeningFcn里添加h = handles.figure1; %返回其句柄newIcon = javax.swing.Ima ...

  9. AccessToMySql数据库的导入以及java生成.exe文件

    一.AccessToMySql 最近做了一个Access数据库导入MySql的小工具,期间遇到诸多问题,这里小计一下. 表名为cur_rec,共有5个字段 比较奇葩的是这个表居然是四个字段的联合主键, ...

随机推荐

  1. 单个页面Request编码方式的改变,无需改动Web.config~

    搞一个东西,从别人的接口接一段中文,URL传输,怎么都有乱码~~ 得到对方的编码方式是gb2312,于是用HttpUtility.UrlDecode(_smssend_content, System. ...

  2. MyBatis学习总结(一)

    MyBatis,是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解 ...

  3. js中Object.defineProperty()和defineProperties()

    在介绍js中Object.defineProperty()和defineProperties()之前,我们了解下js中对象两种属性的类型:数据属性和访问器属性. 数据属性 数据属性包含一个数据的位置, ...

  4. 有关JSOUP学习分享(一)

    其实现在用JSOUP爬虫的也不多了,但是由于最近换公司,做数据爬虫需要用到,就看了下,感觉还是挺好用的,原理什么的感觉和weblogic也差不到哪里去,废话少说,这里就简单的分享下最近接触的干货. J ...

  5. Android 使用NestedScrollView+ViewPager+RecyclerView+SmartRefreshLayout打造酷炫下拉视差效果并解决各种滑动冲突

    如果你还在为处理滑动冲突而发愁,那么你需要静下心来看看这边文章,如果你能彻底理解这篇文章中使用的技术,那么,一切滑动冲突的问题解决起来就轻而易举了: 先扔一个最终实现的效果图 先分析下效果图中实现的功 ...

  6. 小目标 | DAX高级实践-Power BI与Excel联合应用

    · 适用人群:数据分析专业人士,在数据分析方向需求发展人士 · 应用场景:数据汇报.数据可视化展现.数据建模分析 · 掌握难度:★★★★☆ 本期讲师 DAX高级实践-Power BI与Excel联合应 ...

  7. Monitorix系统和网络监控工具

    Monitorix 系统和网络监控公工具一.monitorixMonitorix是一款功能非常强大的免费开源轻型工具,目的在于监测Linux中的系统和网络资源.它可以定期收集系统和网络数据,并使用自己 ...

  8. Java 方法重载与引用数组类型

    1.方法重载  1)方法的签名 方法的签名包含方法名和参数列表 一个类中,不可以有两个方法的签名完全相同,即一个类中不能有两个方法的方法名和参数列表都一样. public class Test{ pu ...

  9. python基础教程总结8——特殊方法,属性,迭代器,生成器,八皇后问题

    1. 重写一般方法和特殊的构造方法 1.1 如果一个方法在B类的一个实例中被调用(或一个属性被访问),但在B类中没有找到该方法,那么会去它的超类A里面找. class A: ... def hello ...

  10. UVA 690 PipelineScheduling 位运算+dfs+剪枝

    一开始最容易想到间隔最多为n,但是结点还是太多了,需要优化. 预处理:预判一下并保存下一个可以放的位置距离之前的距离.这样可以减少很多判断. 最优化剪枝:如果当前长度+剩下没放的程序*最短间隔如果大于 ...