`
dogasshole
  • 浏览: 840313 次
文章分类
社区版块
存档分类
最新评论

java程序打包成jar && exe文件的制作

 
阅读更多
java程序打包成jar&&exe文件的制作
将java项目打成jar:
  
  
  1.1 要将项目打包成jar文件,方法很多,可以用Eclipse自带的打包工具Ant打包,也可以用Eclipse的Export生成jar。经过尝试后,我不推荐用Ant打包,因为要自己编写xml脚本语言,还要增加一些外部的jar,所以我打了好几次都没打成。
  
  
  1.2 在这里介绍两种方法生成jar,第一种是用Eclpise的Export功能。在要打包的项目上击右键,选择Export,在窗口中选择Java里的 JAR file。Next后的窗口中已经自动选好了要打包的项目,用户可以点击加号查看项目里被打包的内容。在下面的JAR file里设置你打包生成jar文件的输出目录,下一步在出现的窗口中选择Use existing manifest from workspace,在下面的Main class后面直接点Browse,它会自动列出你项目中有主函数main的类。选择主类后点Finish即可生成jar文件。在此说明一下,这种打包方法不能把项目中的外部的jar包打进来,因该是也要编写一些脚本语言,没往深研究。所以生成后的jar有些是不能执行的。
  
  
  1.3 第二种方法是利用Eclipse的一个第三方插件fatjar生成jar文件,也是本人觉得最简单最方便的一种生成方式。先从网上下载些插件,解压后是一个plugins的文件夹,里面只有一个文件夹,我的是“net.sf.fjep.fatjar_0.0.24”将它copy到Eclipser plugins文件夹下,此插件就安装成功了,重启Eclipse在项目上右击就会看到多出一个“Build Fat Jar”在前面有个绿色的“+”号,这时你就可以用此插件打包你的项目了。进去后第一个界面Jar-Name里增入要生成的jar文件名,我的是 “CAMP_fat.jar”。在Main-Class后点Browse像Export一样它也会列出你项目中的主类,选择后其它默认即可,Next后会列出你要打包的所有内容,这个插件的优势就是可以将你项目中的外部jar也打进来,有三个先项,其中Export ANT是生成build.xml脚本文件,方便用户以后修改脚本,其它两个按钮没用。在这里什么都不点,直接点Finish就可以生成jar文件。

exe打包成安装程序
对于作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桌面应用了。
分享到:
评论

相关推荐

    将springboot打包成的jar文件做成windows服务,解决java程序自启动问题

    将springboot打包成的jar文件做成windows服务,解决java程序自启动问题,适合现场部署后无人看管情况,断电后服务器启动后不用管理springboot服务,不用打开cmd,也不担心现场人员误操作关闭cmd窗口。

    将java程序打包成可执行文件

    把 java项目 打包成 exe 可执行文件! 如何打包跨平台的.exe文件。安装后运行左窗窗口标有十步。 第1步 : 完全略过,直接点Next 第2步 : 我们选择“JAR in EXE mode” 就是选择我们已经有制作好的jar文件。 第3步...

    jar文件生成exe文件和制作安装包

    通常Java程序只打包成,jar文件,执行时需要jre的支持,如果程序本身很小,对于并非电脑专业的人来说,要能使用Java桌面程序,前面的安装工作是个不小的负担。查找了一些资料,总结了一下,发布一个最小版的Java程序...

    java程序打包jre以及制作安装包

    还需要将程序拷贝到其他电脑上运行才可以,所以需要制作成其他电脑可以运行的文件,当然在安装有jdk的电脑上只需要将程序导出为jar文件就可以运行了,但是除了开发java程序人员的电脑上会安装jdk,其他人的电脑上...

    java打包jar、第三方jar包、制作成.bat批处理

    java打包jar、第三方jar包、制作成.bat批处理

    java+swing打包jar成exe以及生成setup

    该文件为经典java打包与部署教程,个人已实践过,并成功做成了安装程序。(本人用得hibernate连接数据库的)

    myEclipse工程打包及exe文件制作

    包括meEclipse下如何制作jar文件 制作exe文件 JavaLanuncher reshacker,manifes.txt项目清单文件的写法

    java打包为exe

    制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法。 Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录...

    launch4j java exe制作包工具

     Launch4j是一个开源的安装程序,将您的jar文件打包成操作系统的本地可执行文件,支持Windows, MacOS,Linux和Solaris。对于JRE,您可以嵌入在安装文件中,也可以在安装时提示用户下载正确的JRE版本。Launch4j更加...

    数据结构演示系统(安装程序)

    这是一个用java语言写的数据结构演示系统。只要安装就能运行,不管你的电脑上是否安装了JDK后JRE。而且里面还有个文件,告示你如何将java程序打包成jar文件和exe文件,及如何制作成可在window下安装的软件包。

    jar2app:将任何Java jar转换为Mac OS X .App捆绑软件。 不需要外部工具,不需要时髦的参数,它就可以工作

    jar2app jar2app是一个Python 2/3脚本,可以轻松地将任何jar文件转换为Mac OS X应用程序文件。 它寻求简单性,实际上可以像 jar2app input.jar在此过程中创建input.App 。 没有第三方库。 没有cru夫。 尽管简单易用...

    exe4j_windows_4_4_6

    第一步完全略过,直接点Next第二步我们选择“JAR in EXE mode” 就是选择我们已经有制作好的jar文件。第3步上面是项目名称,可随便填写,下面一个写出你想要将打包后的exe文件输出的目录我的是“桌面\project\”。第...

    文件互传(自家用),含打包好的apk与jar,含该项目的AndroidStudio与Eclipse源码

    程序功能:文件传送(适用于Windows、Linux、Android),电脑到电脑、手机到手机、手机到电脑、电脑到手机。 开发背景:因发现当前市面上的文件传送软件都带有很多的广告、组件太过复杂、莫名被获取个人信息、传送...

    Java2实用教程.rar

    4 20 2将类压缩成JAR文件 4 20 3更新 查看JAR文件 习题 第5章字符串 5 1字符串 5 2字符串的常用方法 5 3字符串与基本数据的相互转化 5 4对象的字符串表示 5 5StringTokenizer类 5 6字符串与字符 字节数组 5 7...

    revoker:CRL分发点和OCSP响应程序的Java实现

    您需要为应用程序提供对CA索引文件的访问权限,该索引文件实际上是CA的数据库,crl文件以及一个Java密钥库,其中包含用于签名OCSP响应的密钥和证书链。 这些都在conf.yml文件中完成。 运行应用程序 要测试该应用...

    Java核心技术 卷Ⅰ:基础知识 【中文】(第八版)

    在这里将描述如何将应用程序打包到 JAR 文件中,以及如何使用Java的Web Start 机制在Internet上发布应用程序。最后,将解释 Java程部署之后如何存储、检索配置信息。 第11章讨论异常处理,即Java的健壮机制,它用于...

    自己写的实用JAVA读配置文件专用工具包

    工作中自己封装的实用工具包。...分打包jar文件和源代码及使用说明。 此代码虽然不很复杂,但是这种程序结构和思想对普通程序员是有帮助的。 实现了缓存,只会对硬盘读一次。 其中的FileUtil是以前在网上找的。

    packr:打包您的JAR,资产和JVM,以在Windows,Linux和Mac OS X上分发

    打包您的JAR,资产和JVM,以在Windows,Linux和macOS上分发,添加本机可执行文件以使其看起来像本机应用程序。 Packr最适合GUI应用程序,例如使用制作的游戏。 关于游戏主题,Packr 2.4.2+版支持Java 14,并且已经...

    java-packager:这是一个gui,可让您创建和上传软件包!

    下载程序包要下载软件包,您需要下载jar文件,创建一个新目录,然后创建另一个目录,该目录应称为“ packages” 运行jar文件。 最大化窗口。 然后搜索一个程序包(我制作的一个程序包称为express4java,它基本上是一...

    spritemapper:从一组输入图像创建精灵图(或精灵表)的 Java 程序

    SpriteMapper 可以将多个图像文件和/或目录打包成一个具有最小图像尺寸的 png 文件。 它可以为精灵图编写 Zwoptex 兼容的元数据文件(plist 格式)。 快速开始 在以下 3 个步骤中使用 Sprite Mapper。 第 1 步:从...

Global site tag (gtag.js) - Google Analytics