对于作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的用户,他们可能需要解决JRE的安装、版本匹配以及如何启动Java应用等问题。为了简化这一过程,我们可以借助exe4j和Inno Setup这两个工具,...
在IT行业中,开发Java桌面应用程序是一项常见的任务,但如何将这些程序打包成可方便用户安装和部署的格式,对于开发者来说是个挑战。本篇将详细讲解如何利用exe4j和Inno Setup这两个工具,实现Java桌面应用的快速、...
exe4j和Inno Setup是两个常用的工具,用于创建Java桌面应用的Windows安装程序。下面我们将详细探讨如何使用这两个工具来实现这一目标。 **exe4j** exe4j是一个专门用于将Java应用程序打包成Windows可执行文件的...
Java桌面应用数据传输是将Java应用程序设计为桌面端软件,使得用户可以在本地计算机上运行,进行数据的交互和处理。这种技术主要依赖于Java的JavaFX或者Swing库来构建图形用户界面(GUI),并利用Java的网络通信功能...
1. **Java桌面应用开发**:Java作为一个跨平台的编程语言,其桌面应用开发有着广泛的应用场景,如办公软件、图形编辑工具等。Viewa框架的出现,旨在简化这一过程,通过提供高级组件和抽象,使得开发者可以更专注于...
视频教程,手把手教你制作jar+tomcat+mysql成EXE...以前发过一个:一键搞定Java桌面应用安装部署 —— exe4j + Inno Setup 带着JRE, 8M起飞。针对windows平台,让用户一键式安装,双击使用, 使用工具exe4j + Inno Setup
Java桌面应用程序通常以JAR(Java Archive)文件的形式存在,但是由于Windows系统默认不支持直接运行JAR文件,用户需要有Java环境才能执行。为了使Java应用能够像普通的.exe可执行文件一样在Windows上直接运行,我们...
Java EE 7与HTML5是现代企业级应用开发中的关键技术,它们的结合使得开发者能够构建出既适应桌面环境又能无缝支持移动设备的高性能应用程序。本文将深入探讨这两个技术领域,以及如何利用它们来创建动态且高效的企业...
首先,Java桌面应用开发部分将引导读者了解如何使用NetBeans创建GUI应用程序,包括事件处理、Swing组件的使用以及布局管理器的配置,这些都是构建桌面应用的基础。同时,NetBeans提供的代码补全、调试和版本控制等...
标题中的“桌面应用程序(maven+sqlite)(自用demo)”表明这是一个基于Java开发的桌面应用,使用了Maven作为项目管理和构建工具,SQLite作为本地数据库存储数据的示例项目。这个项目可能是为了个人学习或者实践目的...
Java桌面应用程序通常使用Java的Swing或JavaFX库来创建用户界面。Swing是Java的标准GUI库,提供了丰富的组件集合,如按钮、文本框、菜单等,可以构建出复杂的交互式应用。而JavaFX则更现代,支持CSS样式、3D图形和...
java的windows自动化-自动运行java程序java的windows自动化-自动运行java程序
- **Swing**:早期的Java桌面应用框架,虽然现在已被JavaFX取代,但仍有很多项目在使用。 3. **移动应用** - **Android开发**:Java是Android应用的主要开发语言,开发者使用Android SDK和Java编写应用。 - **...
这个资源包是一个基于Java开发的桌面应用程序,主要目标是实现对数据库的应用。它涉及到的核心知识点主要包括以下几个方面: 1. **Java编程**:整个程序是用Java语言编写的,这是一种广泛使用的面向对象编程语言,...
Java桌面应用开发是一种使用Java编程语言创建在个人计算机上运行的应用程序的方式。Java以其“一次编写,到处运行”的特性,使得开发跨平台的桌面应用程序变得简单。本项目名为"Java-Desktop.rar",是一个基于Java的...
Java是一种广泛使用的、跨平台的编程语言,它的“一次编写,到处运行”特性使得Java桌面应用可以在不同的操作系统上运行,只需安装Java运行环境(JRE)。这款闹钟应用利用了Java丰富的库和API,尤其是Swing或JavaFX...