一键搞定Java桌面应用安装部署 —— exe4j + Inno Setup 带着JRE, 8M起飞
对于作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是一种广泛使用的编程...总的来说,Java的JAR打包工具是开发者将Java程序转化为可执行文件的重要工具,它使得软件的分发和执行变得更加便捷。通过理解并熟练运用`jar`命令,你可以更高效地管理和部署你的Java应用。
在IT领域中,将Java程序转换为Windows可执行文件(.exe)的需求十分常见。这不仅提高了应用程序的启动速度,还简化了最终用户的安装流程。本文将详细介绍几种将Java编译为EXE的方法,并深入探讨其特点与适用场景。 ...
使用JadGUI反编译时,首先要确保下载并解压文件,解压后的文件中包含jd_gui.exe,这是一个可执行文件。在Windows操作系统上,只需双击jd_gui.exe即可启动程序。程序启动后,可以通过文件菜单或直接拖放的方式加载....
总之,Java 编译成 EXE 的过程主要是利用工具将 .jar 文件封装为 Windows 可执行文件,以简化用户运行 Java 应用的流程。Launch4j 是一种简单易用且功能强大的解决方案,适合大多数开发者的需求。
软件功能为:将 Jar 文件转换为 Exe 可执行文件。 生成的 Exe 文件在执行时,需要 JRE(Java Runtime Environment)。 2. 用法及举例 本软件在控制台下运行,格式: D:\>J2E <jarfile> /m 说明: jarfile - 指定 ...
Java 代码打包成 JAR 文件以及转换为 EXE 可执行文件 本篇博客旨在教您如何将 Java 代码打包成 JAR 文件,并将其转换为 EXE 可执行文件。以下是详细的步骤和知识点: Step 1:将 Java 项目打包成可执行 JAR 文件 ...
Java编程语言以其跨平台的特性深受开发者喜爱,但有时为了方便非Java环境下的用户使用,我们需要将Java程序转换为Windows操作系统下的.exe可执行文件。在本案例中,开发者使用了Java的Swing库来构建图形用户界面...
Java 程序生成 exe 可执行文件是 Java 开发者经常遇到的问题,本文将详细介绍如何使用 Eclipse 或 Myeclipse 将 Java 程序打包成 exe 可执行文件。下面将详细介绍整个过程。 第一步:将 Java 程序生成 Jar 包 在 ...
下面将详细介绍如何将Java项目打包成`.exe`可执行文件。 首先,我们需要确保Java程序已经正确地编译为`.class`文件,并且包含所有的依赖库。这通常通过Java的编译器`javac`完成。如果你的项目结构复杂,可能需要...
"把编译好的jar生成exe可执行文件"这一主题涉及到的主要技术是Java到本地代码的转换,以及特定工具的使用,如本例中的"exe4java"。以下是对这一过程的详细解释: 1. **Java到本地代码转换**:Java应用程序通常以JAR...
描述中提到的"解压后点击exe文件打开工具",指的是这种反编译工具通常以可执行文件(.exe)的形式提供,用户只需解压缩下载的文件,然后运行这个exe程序。在该工具中,有一个"open"菜单选项,通过这个选项,用户可以...
本篇文章将详细讲解如何在Java中生成.exe文件,以及如何将Java项目打包成jar,并进一步转化为.exe可执行文件。 一、Java项目打包成jar 1. **创建Java项目**:首先,你需要有一个完整的Java项目,包括主类(包含...
### Java打包成可执行文件步骤详解 在Java开发过程中,将编写好的程序打包成一个可执行文件是非常常见的需求。这不仅方便程序的分发与部署,还能提高程序的可用性。本文将通过一个具体的示例来详细介绍如何将Java...
- 解压后会得到两个文件:一个是可执行文件(名为`jad.exe`,适用于Windows系统;或名为`jad`,适用于*nix系统),另一个是此README文件。无需进行额外设置即可使用。 2. **基本使用**: - 使用命令行界面调用Jad...
将Java原代码转换为可执行的EXE文件是许多开发者追求的目标,尤其是在Windows平台上,因为EXE文件能够更方便地分发和运行。下面,我们将深入探讨如何通过一系列步骤,利用Eclipse IDE、JAR文件、批处理脚本(BAT)...
通过以上步骤,你可以将Java程序轻松转换为.exe可执行文件,实现更广泛的用户覆盖。然而,这仅仅是Java程序打包的一种方式,还有其他工具如Launch4j、JSmooth等可供选择,具体取决于你的需求和偏好。在实际操作过程...
Java编程语言虽然本身不直接支持编译为Windows平台下的.exe可执行文件,但开发者可以通过一些第三方工具实现这一目标,使得Java程序能在没有JRE(Java运行环境)的计算机上运行。这种转换通常是为了方便分发和执行,...
在IT行业中,将Java应用程序转换为本地可执行文件(EXE)的需求时有发生,尤其是为了在不支持Java环境的系统上运行,或者为了简化软件分发过程。下面将详细介绍几种常见的将Java应用程序本地编译为EXE的方法: ####...