- 浏览: 1251167 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (399)
- 心情故事 (12)
- java (115)
- linux (55)
- 关系型数据库 (35)
- struts,jsf,spring (11)
- jdbc,hibernate,ibatis (11)
- jsp,jstl,c:tag,标签库 (2)
- ejb,webservice (1)
- tomcat,jboss,jetty,weblogic,websphere (15)
- java网络编程 (6)
- java线程 (0)
- js,jquery,json,xml,dom,html.regex (25)
- 设计模式 (6)
- BUG记录 (2)
- ant (2)
- jsp,servlet (4)
- swing (6)
- lucene+nutch (6)
- log4j (2)
- windows doc (2)
- ruby (1)
- ruby on rails (3)
- 操作系统网络 (18)
- apache 错误 (1)
- tomcat (10)
- jboss (9)
- jetty (9)
- weblogic (9)
- websphere (10)
- apache (2)
- AIX的iostat命令查看系统磁盘的使用情况 (1)
- oracle 统计一个表格有多少列 (1)
- Exception in thread "main" java.security.KeyStoreException: Windows-MY not found (1)
- jsp (1)
- jstl (1)
- c:tag (1)
- 标签库 (1)
- struts (1)
- jsf (1)
- spring (2)
- oracle,sqlplus (2)
- sqlplus (2)
- show errors (1)
- proc (1)
- function (1)
- ORA-06544: PL/SQL: internal error (1)
- arguments: [55916] (1)
- [] (7)
- 终端身份实施文档 (1)
- 重装系统之后飞鸽传书只能看到自己 (1)
- vsftp "上传 553 Could not create file" (1)
- startWebLogic.sh启动失败,提示Error initializing Embedded LDAP Server (1)
- java agent 注册为 windows 服务 (1)
- centos (1)
- svn (1)
- apr (1)
- apr-util (1)
- activemq (2)
- oracle (5)
- mysql (3)
- nosql (3)
- NSIS (1)
- windows wmic (1)
- c 指针 (1)
- c c++ (0)
- jmeter (0)
- 性能测试 (0)
- linux,备份 (2)
- C++ ,Virtual (1)
- windows dos (1)
- android (2)
- 大数据,云计算 (1)
- JVM垃圾收集 (1)
- jdbc (2)
- invoke (1)
- hibernate (1)
- ibatis (1)
- 个人开源项目源码收藏 (1)
- 批处理 (1)
- Mongodb mapreduce (8)
- kettle (1)
- Mongodb capped (1)
- mongodb gridfs (1)
- Mongodb 入门基础知识 (1)
- mongodb (8)
- hadoop2.5.1 (1)
- hadoop (4)
- eclipse (1)
- hdfs fs (1)
- elipse hadoop plugin (1)
- PHP相关知识 (1)
- js (1)
- jquery (1)
- json (1)
- xml (1)
- dom (1)
- html.regex (1)
- 网络知识 (1)
- nginx (1)
- docker (1)
- 测试 (1)
- nodejs (1)
- iptables (1)
- linux gitlab (1)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
web页面调用window.print()函数实现打印的功能 -
hxdtech:
非常感谢!
我在学习ibatis时的培训ppt -
zmwxiaoming:
what 能连数据库不错
SOLR的学习整理 -
springdata_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java获取当前操作系统的信息 -
huanzei:
整理的不错,
oracle lpad函数
比较好的文章, 原文网址:http://www.blogjava.net/huliqing/archive/2008/04/18/193907.html
对于作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文件,可以更好的保护你的程序不被反编译。
接下来,可以给我们即将生成的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桌面应用了。
发表评论
-
centos6.5 hadoop伪分布式搭建
2017-01-10 10:41 25打算整理下machine learn ,再次安装 ... -
springboot
2016-12-29 11:13 2381微服务,现在是一个越来越热的东西,软件架构发展到 ... -
elk安装记录
2016-12-27 18:04 980在centos6.5上安装elk,记录下安装过程和 ... -
dubbo服务框架
2016-12-23 15:40 480上一篇文章介绍了zookeeper,作为服务 ... -
zookeeper服务注册中心配置
2016-12-22 11:40 1663用zookeeper有一段时间了,把配置做下简 ... -
OS X 安装java开发环境
2016-12-03 23:29 591... -
关于Restful API 的设计
2015-06-12 13:32 2275Restful API的流行,很大程度上被当前的移动 ... -
Jvisualvm远程连接tomcat配置:
2015-05-12 16:16 781JvisualVm 监控远程Tomcat,需要在To ... -
jdbc mybatis hibernate springJDBC的一些理解
2015-01-15 17:10 7064... -
Java 的ExecutorService
2015-01-15 11:45 1216早期在Java5以前,我们做多线程程序,一般都 ... -
spring的IOC和AOP
2015-01-14 16:47 2352关于Spring,大家都是耳熟 ... -
java 的线程安全
2014-12-30 14:43 959现代CPU基本都是多核,支持 ... -
JVM ClassLoader
2014-12-25 16:33 936JVM在加载类的时候,都是通过ClassLoad ... -
minor Gc ,Full Gc
2014-12-24 17:22 2102在发生Minor gc之前,虚拟机会先检查老年带最 ... -
Java的主要垃圾回收器
2014-12-24 16:33 1307对象 ... -
JVM的内存结构的一点理解
2014-12-24 11:30 777... -
利用生产者消费者模式实现串行的任务并行化
2014-12-22 17:48 1235试想,一个省有100个处理节点需要 ... -
利用生产者消费者模式实现串行的任务并行化
2014-12-22 17:48 0试想,一个省有100个处理节点需要 ... -
关于Linux的Ulimit参数
2014-12-22 12:13 1275JVM 64位平台与32位平台 ... -
一种表格数据比对的方法
2014-12-19 16:59 1047假设有连个库,一个是生产库,一个是备份库,在一个特 ...
相关推荐
本篇将详细讲解如何利用exe4j和Inno Setup这两个工具,实现Java桌面应用的快速、便捷安装部署,让程序仅需8M大小就能顺利起飞。 首先,我们要了解exe4j。exe4j是一款专门用于将Java应用程序转换为Windows可执行文件...
视频教程,手把手教你制作jar+tomcat+mysql成EXE...以前发过一个:一键搞定Java桌面应用安装部署 —— exe4j + Inno Setup 带着JRE, 8M起飞。针对windows平台,让用户一键式安装,双击使用, 使用工具exe4j + Inno Setup
为了简化这一过程,我们可以借助exe4j和Inno Setup这两个工具,使得Java桌面应用能够携带JRE,实现一键安装和双击运行。 exe4j是一个用于将Java应用程序转换为Windows可执行文件的工具,它可以创建独立的Java可执行...
exe4j和Inno Setup是两个常用的工具,用于创建Java桌面应用的Windows安装程序。下面我们将详细探讨如何使用这两个工具来实现这一目标。 **exe4j** exe4j是一个专门用于将Java应用程序打包成Windows可执行文件的...
为了提高用户体验,我们可以借助exe4j和InnoSetup这两个工具,将SpringBoot应用转换为Windows平台下的.exe可执行文件,并且可以打包成安装程序,让非开发者也能轻松运行。本文将详细介绍这一过程。 首先,我们需要...
当需要将一个基于Java的Web应用打包成.exe安装文件时,可以先使用exe4j将Java应用封装为独立的可执行文件,然后通过Inno Setup创建安装程序。Inno Setup可以包含exe4j生成的.exe文件,以及应用所需的其他资源,如...
总之,exe4j和Inno Setup是Java桌面开发中不可或缺的工具,它们能帮助开发者轻松地将Java应用程序转化为易于分发和安装的形式,大大提高软件的普及率和用户体验。通过熟练掌握这两款工具的使用,开发者能够为用户...
在使用这两款工具打包Java Swing应用时,通常的步骤是先用exe4j将Java应用打包成可执行文件,然后用Inno Setup创建安装程序。Inno Setup可以包含exe4j生成的.exe文件,以及必要的库和资源文件,这样用户就可以通过一...
综上所述,"java 安装程序部署 exe4j"是一种高效且实用的Java应用部署方案,它简化了开发者的发布流程,同时为用户提供了一键安装的便利。通过熟练掌握exe4j和Inno Setup的使用,开发者可以打造出更符合市场需求的...
【Java项目Windows环境一键部署】是指通过特定工具和方法,将Java应用程序打包成可以在Windows操作系统上直接运行的可执行文件(exe),以便于快速、简便地在Windows服务器上部署Java项目。这一过程主要针对三种类型...
通过exe4j和Inno Setup的结合使用,开发者可以轻松地将Java应用程序打包成易于分发的Windows安装程序,极大地提高了软件的部署效率。同时,这两个工具提供了丰富的自定义选项,使你可以按照自己的需求打造专业且用户...
总结,exe4j和InnoSetup结合使用,可以为Java开发者提供一个全面的解决方案,将Java应用程序打包成Windows用户熟悉的.exe格式,并提供安装程序,使软件分发更加便捷。通过合理的配置和定制,这两个工具能够帮助...
在提供的PDF文档《一键安装双击运行——Java安装程序制作》中,会详细阐述以上步骤,并可能提供实际示例和代码片段,帮助开发者更好地理解和实践这个过程。通过学习这份资料,开发者不仅可以学会如何制作Java安装...
在使用exe4j和Inno Setup时,通常先用exe4j将Java应用打包成.exe,然后使用Inno Setup创建一个包含.exe和其他相关文件的安装程序。通过两者结合,开发者可以为用户提供一套完整的、易于安装和运行的软件包。 在提供...
将Exe4j与Inno Setup结合使用,可以形成一个完整的Java应用程序部署流程:首先用Exe4j将Java程序打包成.exe文件,然后使用Inno Setup将其进一步封装成安装程序,实现一键安装。这种方式极大地简化了用户的使用流程,...
总而言之,exe4j和InnoSetup是Java开发者在Windows平台上的得力助手,它们让Java程序的打包和部署变得更加简单和高效。无论是小型应用还是大型系统,这两款工具都能够提供全面的支持,帮助开发者快速构建出易于分发...
结合`exe4j`和`InnoSetup`,Java开发者可以创建一个完整的Windows应用程序解决方案,包括运行环境、安装程序和卸载程序。这个压缩包文件“java打包软件”可能包含的是使用这两个工具打包后的Java应用及其相关资源,...