对于作Java桌面应用来说,比较烦人的就是安装部署问题,客户端是否安装有jre、jre版本问题、jre去哪下载、如何用jre启动你的Java应用?不要说刚接触电脑的人,就算是比较熟悉电脑,如果没有接触过Java,面对一个Java应用,如何在Windows下启动它,估计都会折腾半天。如果不是因为这个问题,Java在我的眼里算是最完美的语言了,也是我最喜爱的语言。
所以我认为这个是导致Java桌面应用被一些人所讨厌的最大原因,Java的优势是“一次编写,随处运行”,跨平台特性确实很好,但并不是每个人都需要或都想要跨平台,而且有时候JVM平台或版本问题也会造成“一次编写,到处测试”的尴尬。
最好的方式莫过于带着JRE,让用户轻松点击就能运行。下面我们来解决这样的问题,有什么好的建议或方法请其他朋友多多指教或补充!
针对windows平台,让用户一键式安装,双击使用, 使用工具exe4j + Inno Setup, 这两个工具都可以在网上找到,不熟悉的可以多搜搜,使用起来也不难。
带着JRE运行,JRE的大小应该是最让人头疼的,我默认安装的jre6大小达到80M,而程序只有200-300k左右,感觉非常不合理,分发与网络传输过程也会大受影响!为了解决这个问题我一直在网络上搜索“瘦身版”的JRE,无意中搜到了Beansoft老师介绍的一篇关于迷你JRE的文章,相关的JRE下载后解压约14M左右,试用了一下,相对于我的应用缺少了一些类文件,关于部分xml操作类,及swing桌面应用框架相关连的部分类也找不到,最后借鉴了一下,自己把一个完整的JRE从80M瘦到了38M,去除了很多不需要的类文件,当然,如果耐心一点还可以再瘦下去,再抽掉一些类文件。
在这个基础上再配合Inno Setup这个安装包制作工具,最后把整个程序从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文件都要添加上去,可以逐个添加上去,也可以添加整个文件夹或者使用系统环境变量,为了使你的程序能够随处运行,所以还是强列建议你使用相对路径,并且不要使用环境变量。添加好你的类路径之后回到上一步去选择好你的"Main Class"即可。
接下来先选择我们的程序所需要的jre版本, 然后便是选择我们自带的jre了,这一步不是必须,但是为了更好的分发程序,我们自带了jre, 所以必须把我们自带的jre指定为首选的运行环境,如图选择:
Search sequence
默认情况下程序会去系统的注册表,环境变量及相关的目录查找jre,因为我们只需要自带的jre,所以这里我把默认的选项移除了,然后添加我们自己的jre所在的目录路径,点+号开始:
这里还是建议使用相对的目录路径:
指定jre所在的目录,如图:
最后我的jre目录路径就是这样的:.\jre1.6
下面这一步只是简单的给程序添加一个启动画面,然后按默认下一步下一步就可以了。
程序最终生成了这个执行文件: MyLoading.exe
现在使用它,已经可以正常利用我们自带的jre启动程序了,但是整个程序仍有40M的大小.
现在我们使用Inno Setup进行压缩并制作一个安装包。
Inno Setup的下载安装请到网上搜索,安装后启动脚本向导,如图所示:
整个过程很简单:
这里指定你的程序的启动文件,即刚才用exe4j创建的exe文件,并将你的整个程序目录都包含进去就可以了,接下来的基本上一直按下一步就可以了,直到脚本向导完成,
然后执行该脚本即可:
然后找到Inno Setup的默认输出目录,就可以看到编译输出后的安装包了,如下图:MyLoading安装.exe
大小已经压到了8.86M。
利用这个就可以快速轻松的安装你的Java桌面应用了。
分享到:
相关推荐
### 将JAVA打成EXE文件与JRE一并打包的知识点详解 #### 一、背景与需求 在开发Java桌面应用程序时,开发者经常会遇到一个棘手的问题:如何确保用户能够在没有预先安装Java运行环境(JRE)的情况下顺利运行应用程序...
通过 exe4j,开发者可以轻松地将 Java 应用程序转化为可在 Windows 上直接运行的 exe 文件,并可选择是否包含 JRE。这不仅提高了用户体验,也简化了部署流程。不过,在使用过程中,需要注意 JRE 版本的兼容性、文件...
Java是一种广泛使用的编程语言,它的程序通常被打包成JAR(Java Archive)文件,以便在任何装有Java运行时环境(JRE)的计算机上执行。然而,对于那些不熟悉Java或没有安装JRE的用户来说,直接运行JAR文件可能会带来...
Launch4j是一款强大的工具,专为Java开发者设计,可以将Java的JAR文件转换成Windows平台下的可执行程序(EXE)。这个转换过程使得Java应用程序能够脱离Java运行环境(JRE)独立运行,大大提高了软件分发的便利性。...
将Java程序打包为可以在没有Java环境的机器上运行的exe文件,主要涉及以下几个步骤和知识点: 1. 理解Java程序部署的难题 在讨论如何打包之前,先要认识到Java程序部署时常见的问题。Java程序的运行需要Java运行...
exe4j是一款能够将Java的JAR文件转换为Windows平台下的exe可执行文件的软件,它还内置了JRE(Java Runtime Environment),使得用户无需额外安装Java就能运行程序。 一、exe4j简介 exe4j是由eclipse插件开发公司...
Exe4j是一个流行的工具,它允许Java开发者将Java程序打包为Windows可执行文件,同时可以嵌入JRE,使得目标机器无需安装JRE也能运行程序。 以下是使用Exe4j的步骤: 1. 下载并安装Exe4j。在提供的压缩包中,你找到了...
为了使得基于 Java Swing 的应用能在没有 JDK 或 JRE 的环境中运行,我们需要将其打包成可执行的安装文件,通常是 .exe 格式,以便于Windows用户轻松安装和运行。 这个过程涉及几个关键步骤: 1. **构建可独立运行...
本文将指导您一步一步地将Java项目打包成exe应用程序,并且无需考虑JDK环境问题,因为我们将JRE打包进去。这样,用户可以轻松地点击运行Java应用程序,不需要再担心JDK环境问题。 首先,我们需要将Java项目打包成...
在IT行业中,将Java项目打包成可执行的jar或exe文件是常见的需求,特别是对于希望在没有Java环境的用户机器上运行的应用程序。本篇主要介绍如何使用IntelliJ IDEA(Idea)将Springboot或Java项目打包为jar,并通过...
在Java开发领域,为了让没有安装Java运行环境(JRE)的计算机能够运行Java程序,开发者通常需要将Java程序转换为可执行的Windows EXE文件。这个过程涉及到Java程序的打包、JRE的精简以及使用特定工具如exe4j和Inno ...
Launch4j是一个强大的工具,它可以将Java应用程序封装成Windows可执行文件,同时提供了一些额外的功能,如错误处理、内存管理和桌面集成。 首先,我们需要了解Launch4j的基本操作。它允许我们指定JAR文件、主类名、...
总之,exe4j是一个强大的工具,它简化了Java程序在Windows平台上的部署工作,通过将jar打包成exe,使得非Java开发人员也能方便地运行和分发Java应用程序。同时,它提供了丰富的配置选项,满足了不同项目的个性化需求...
在 exe4j 中,可以捆绑 JRE,以便在客户机上可以正确地运行程序。可以选择捆绑的 JRE 版本号,并指定 JRE 的文件夹。 知识点六:exe4j 的高级选项 exe4j 提供了一些高级选项,例如可以设置程序的最小 JRE 版本号、...
在Java编程中,将程序打包成JAR文件是常见的部署方式,这使得代码可以作为一个独立的可执行单元进行分发。然而,在打包包含数据库连接的Java应用程序时,可能会遇到一些问题,尤其是涉及到像MySQL这样的外部数据库。...
标题中的“用打包工具j2ewiz将jar打成exe文件”是指将Java应用程序打包成可执行的Windows程序(.exe格式),以便于非Java环境下的用户也能方便地运行。这个过程涉及到Java平台的跨平台性问题以及软件的封装技术。 ...
exe4j支持选择性地打包JRE(Java运行环境),允许开发者根据需要选择JDK的部分组件,如特定版本的Java虚拟机(JVM)、类库等。 3. **JRE裁剪**:在打包时,开发者可以根据应用的需求精简JRE,只包含运行应用所必需...
标题中的“j2ewiz jar打包exe”指的是使用j2ewiz工具将Java的jar文件转换为可执行的Windows程序(exe文件)。这个过程对于那些希望在不安装Java环境的计算机上运行Java应用程序的开发者来说非常有用。下面将详细介绍...
在IT行业中,有时候我们需要将Java应用程序打包成可执行文件(exe),以便于非Java环境下的用户也能方便地运行。这通常适用于那些希望提供简洁、独立的桌面应用的开发者。本篇将详细介绍如何将一个jar包转换为exe...