一键搞定Java桌面应用安装部署.docx

上传人:b****3 文档编号:6671114 上传时间:2023-05-10 格式:DOCX 页数:26 大小:1.32MB
下载 相关 举报
一键搞定Java桌面应用安装部署.docx_第1页
第1页 / 共26页
一键搞定Java桌面应用安装部署.docx_第2页
第2页 / 共26页
一键搞定Java桌面应用安装部署.docx_第3页
第3页 / 共26页
一键搞定Java桌面应用安装部署.docx_第4页
第4页 / 共26页
一键搞定Java桌面应用安装部署.docx_第5页
第5页 / 共26页
一键搞定Java桌面应用安装部署.docx_第6页
第6页 / 共26页
一键搞定Java桌面应用安装部署.docx_第7页
第7页 / 共26页
一键搞定Java桌面应用安装部署.docx_第8页
第8页 / 共26页
一键搞定Java桌面应用安装部署.docx_第9页
第9页 / 共26页
一键搞定Java桌面应用安装部署.docx_第10页
第10页 / 共26页
一键搞定Java桌面应用安装部署.docx_第11页
第11页 / 共26页
一键搞定Java桌面应用安装部署.docx_第12页
第12页 / 共26页
一键搞定Java桌面应用安装部署.docx_第13页
第13页 / 共26页
一键搞定Java桌面应用安装部署.docx_第14页
第14页 / 共26页
一键搞定Java桌面应用安装部署.docx_第15页
第15页 / 共26页
一键搞定Java桌面应用安装部署.docx_第16页
第16页 / 共26页
一键搞定Java桌面应用安装部署.docx_第17页
第17页 / 共26页
一键搞定Java桌面应用安装部署.docx_第18页
第18页 / 共26页
一键搞定Java桌面应用安装部署.docx_第19页
第19页 / 共26页
一键搞定Java桌面应用安装部署.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

一键搞定Java桌面应用安装部署.docx

《一键搞定Java桌面应用安装部署.docx》由会员分享,可在线阅读,更多相关《一键搞定Java桌面应用安装部署.docx(26页珍藏版)》请在冰点文库上搜索。

一键搞定Java桌面应用安装部署.docx

一键搞定Java桌面应用安装部署

一键搞定Java桌面应用安装部署——exe4j+InnoSetup带着JRE,8M起飞

   对于作Java桌面应用来说,比较烦人的就是安装部署问题,客户端是否安装有jre、jre版本问题、jre去哪下载、如何用jre启动你的Java应用?

不要说刚接触电脑的人,就算是比较熟悉电脑,如果没有接触过Java,面对一个Java应用,如何在Windows下启动它,估计都会折腾半天。

如果不是因为这个问题,Java在我的眼里算是最完美的语言了,也是我最喜爱的语言。

   所以我认为这个是导致Java桌面应用被一些人所讨厌的最大原因,Java的优势是“一次编写,随处运行”,跨平台特性确实很好,但并不是每个人都需要或都想要跨平台,而且有时候JVM平台或版本问题也会造成“一次编写,到处测试”的尴尬。

   最好的方式莫过于带着JRE,让用户轻松点击就能运行。

下面我们来解决这样的问题,有什么好的建议或方法请其他朋友多多指教或补充!

   针对windows平台,让用户一键式安装,双击使用,使用工具exe4j+InnoSetup,这两个工具都可以在网上找到,不熟悉的可以多搜搜,使用起来也不难。

   带着JRE运行,JRE的大小应该是最让人头疼的,我默认安装的jre6大小达到80M,而程序只有200-300k左右,感觉非常不合理,分发与网络传输过程也会大受影响!

为了解决这个问题我一直在网络上搜索“瘦身版”的JRE,无意中搜到了Beansoft老师介绍的一篇关于迷你JRE的文章,相关的JRE下载后解压约14M左右,试用了一下,相对于我的应用缺少了一些类文件,关于部分xml操作类,及swing桌面应用框架相关连的部分类也找不到,最后借鉴了一下,自己把一个完整的JRE从80M瘦到了38M,去除了很多不需要的类文件,当然,如果耐心一点还可以再瘦下去,再抽掉一些类文件。

   在这个基础上再配合InnoSetup这个安装包制作工具,最后把整个程序从40M压到了8M,下面看看关于整个操作过程,关于JRE的瘦身有些烦琐就不写了,而且SUN的JRE瘦身计划也在进行,相信很快会有更小的瘦身版JRE推出,自己没有必要再去费神。

   

   下面是我的一个完整的Java程序——MyLoading

   

可以看到已经附带了jre1.6,下面先使用exe4j给它制作一个exe执行文件(即上图的MyLoading.exe),并指定我们自带的jre1.6。

以下是exe4j的启动界面,点击下一步开始创建配置文件。

   

接着选择类型,我们选择第一个,这样可以保证程序仍具有跨平台的特性。

如果选择第二个,可以把程序完全编译成exe文件,可以更好的保护你的程序不被反编译。

接下来设置你的程序的短文件名,源文件夹路径(如我的:

E:

\MyLoading),以及要生成的exe文件的存放目录,exe存放目录必须指定到源文件夹下,这里我把它指定为E:

\Myloading的根目录下。

接下来,可以给我们即将生成的exe文件起一个名字,如我的“MyLoading”,还可以给它指定一个ico类型的图标,其它按默认就可以了,如图:

接下来的这一步,我们需要把程序中所用到的类路径添加上去。

然后指定程序的启动类,其它如果没有必要的话,则按默认即可,点击+号添加类路径:

基本上你所需要用到的Jar文件都要添加上去,可以逐个添加上去,也可以添加整个文件夹或者使用系统环境变量,为了使你的程序能够随处运行,所以还是强列建议你使用相对路径,并且不要使用环境变量。

添加好你的类路径之后回到上一步去选择好你的"MainClass"即可。

接下来先选择我们的程序所需要的jre版本,然后便是选择我们自带的jre了,这一步不是必须,但是为了更好的分发程序,我们自带了jre,所以必须把我们自带的jre指定为首选的运行环境,如图选择:

Searchsequence

默认情况下程序会去系统的注册表,环境变量及相关的目录查找jre,因为我们只需要自带的jre,所以这里我把默认的选项移除了,然后添加我们自己的jre所在的目录路径,点+号开始:

这里还是建议使用相对的目录路径:

指定jre所在的目录,如图:

最后我的jre目录路径就是这样的:

.\jre1.6

下面这一步只是简单的给程序添加一个启动画面,然后按默认下一步下一步就可以了。

程序最终生成了这个执行文件:

MyLoading.exe

现在使用它,已经可以正常利用我们自带的jre启动程序了,但是整个程序仍有40M的大小.

现在我们使用InnoSetup进行压缩并制作一个安装包。

InnoSetup的下载安装请到网上搜索,安装后启动脚本向导,如图所示:

整个过程很简单:

这里指定你的程序的启动文件,即刚才用exe4j创建的exe文件,并将你的整个程序目录都包含进去就可以了,接下来的基本上一直按下一步就可以了,直到脚本向导完成,

然后执行该脚本即可:

然后找到InnoSetup的默认输出目录,就可以看到编译输出后的安装包了,如下图:

MyLoading安装.exe

大小已经压到了8.86M。

利用这个就可以快速轻松的安装你的Java桌面应用了。

huliqing

Email:

huliqing@

QQ:

31703299

学习永无止境,欢迎一起交流研究...

huliqing

huliqing@

postedon2008-04-1806:

34huliqing阅读(2713)评论(25) 编辑 收藏

Java应用程序项目的打包与发行

作者:

starsinsky日期:

2006-08-09

字体大小:

小中大

这里主要是讲解一下怎样将Java程序打包成独立运行的exe程序包,以下这种方法应该是最佳的解决方案了。

NetDuke的EXE程序包了是使用这种方案制作的。

在操作步骤上还是比较简单的,而且通用性强。

1.程序打包

        首先将程序打成Jar包,打包命令:

jarcf包文件名.jar*.class。

接下来编译包中的清单文件MANIFEST.MF。

        Manifest-Version-指定清单文件的版本号

        Main-Class-指定程序运行的入口类。

注意:

类名后不要加class扩展名

2.让用户电脑不必安装JRE环境

        通常运行Java程序有个前提条件:

用户电脑必须先安装JRE环境。

虽然安装JRE环境非常简单,但毕竟多了一步,算是有一点点的瑕疵。

这里给出一个不必让用户安装JRE环境的方法,其实现步骤如下:

    

(1)将原JDK中的“jre”目录复制到“D:

\项目文件夹\java1.4.2”目录下(java1.4.2也可换成其他名称)。

    

(2)将JDK和JRE从本机卸载掉,这样表示本机没有安装JAVA运行环境。

    (3)修改批处理文件run.bat中的命令为“startjava1.4.2\jre\bin\javaw-jarNetDuke.jar”,仅仅是在javaw前加上了一个相对应路径。

      双击run.bat即可在不安装JRE环境的电脑运行此Java应用程序。

3.更进一步的完善

        1、抛弃批处理文件(*.bat)

      用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。

但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。

      我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。

JavaLauncher的下载网址是:

http:

//www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm

        下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下:

        1.source目录包含了JavaLauncher的源程序,是用C语言写的

      2.changes.txt是新版的修改说明

      3.launch.exe是主程序

      4.launcher.cfg是配置文件

      5.readme.txt是一些说明和示例

      我们只需要launch.exe、launcher.cfg两个文件,将这两个文件复制到打包文件所在的目录。

launcher.cfg是一个仅三行内容的文本文件,将它修改如下:

        .

        .\java1.4.2\jre\bin\javaw.exe

        -jarNetDuke.jar

        第一行设置指向JAR包NetDuke.jar的目录,由于launch.exe和NetDuke.jar同在一个目录,所以用“.”即当前目录。

      第二行设置指向jre\bin\javaw.exe的路径。

要先将jre目录复制到了java1.4.2子目录中

配置好launcher.cfg后,双击launch.exe即可运行java应用程序。

      如果仔佃研究eclipse的启动方式,发现eclipse和JavaLauncher的原理一样:

eclipse.exe相当于launch.exe,startup.jar相当于NetDuke.jar。

只不过eclipse.exe不象launch.exe要具有通用性,所以它没有*.cfg这样的配置文件,而是将启动信息固化在eclipse.exe中。

4.美化图标

        launch.exe文件的图标太单调了,让我们给它换个好看点的。

换程序的图标需要用到一个免费的软件:

ResourceHacker,它有中文版,下载网址是:

      

        用ResourceHacker来替换launch.exe的图标的步骤如下:

      

(1)运行ResourceHacker。

      

(2)单击主菜单“文件→打开”,将launch.exe载入到程序中。

      (3)选择左边的“图标→1→1030”,然后右键单击“1030”项,选择“替换资源…”。

然后在弹出窗口中单击“打开新图标文件”,选择一个满意的图标,然后单击“替换”按钮。

      附注:

图标文件可以是exe、dll、res、ico,该软件可以从exe、dll、res抽取出图标,本例选择的是Java的吉祥物Duke.ico。

      (4)选择“文件→另存为”,取名NetDuke.exe。

      附注:

按理说选择“保存”也是可以的,这时ResourceHacker会将老的launch.exe备份成launch_original.exe。

但也许是刷新上有问题,用“保存”方式有时launch.exe无法显示出新图标,但有时又可以。

      (5)最后的目录如下所示,可见NetDuke.exe(也就是launch.exe改了个名称)的图标换成了Java的图标。

双击NetDuke.exe即可运行Java应用程序。

      1.java1.4.2(文件夹)

          2.launcher.cfg

          3.NetDuke.exe

          4.NetDuke.jar

5.最后的打包

        发送给用户之前,通常要用WinZip或WinRAR将所有的文件全部打成一个压缩包,然后用户得到这个压缩包后,将其解压缩后即可运行程序,Eclipse软件就是这种方式。

      另外大家要注意的几点:

      

(1)Java应用程序中用到的资源,它都必须要求写绝对路径,否则在其它机子上就会出现找不到资源。

所以一般我们在写程序时就要注意一定要用绝对路径,例如:

Toolkit.getDefaultToolkit().getImage(getClass().getResource("文件名")));像这种写法就一定没问题。

当然如果要将资源传递给构造器的话就没办法了,例如:

NetDukeframe=newNetDuke("资源");这是我们就须要将资源拷贝到项目文件夹下一起打包。

      

(2)一般我们的Jre都有60多M,这样和程序一起打包就显得很臃肿。

所以要将Jre适当地减肥,具体的作法这样不再累赘,大家在一台还没装JRE的机上测试,将JRE中的一个个文件删除后程序是否可正常运行。

还有一个就是rt.jar这个Java类库也要大量的砍伐。

      通过以上的操作即可得到使大家满意的一个exe程序包,而不用借助其它软件。

希望对大家有帮助。

[本日志由starsinsky

∙javalauncher.zip(2.7MB)

∙描述:

把java的class文件打包发行为window下的exe文件

∙下载次数:

806

声明:

JavaEye文章版权属于作者,受法律保护。

没有作者书面许可不得转载。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2