• 将jar打包成exe


    1 打包成双击可执行的jar文件。 
    推荐插件:fatJar(Eclipse使用) 
    下载地址 http://sourceforge.net/project/showfiles.php?group_id=115990&package_id=125924 
    我用的是Eclipse,它自带的打包方法在打包一些图片等资源时不是很爽。可以使用这个插件。 
    安装方法解压后将plugins文件夹下的net.sf.fjep.fatjar_0.0.24文件夹拷到eclipse安装目录的plugins 下。 
    用此工具可以方便的将eclipse中的工程打包成jar文件。如果是要打成可执行的jar请注意选取主类。 
    你的项目=〉Export..=>向导里有fat jar =>... 
    2 将jar文件转换成exe文件。 
    推荐工具:exe4j 
    用exe4j把java打包成exe 
    http://www.blogjava.net/hadeslee/archive/2007/10/12/152228.html 
    在我们写程序的时候,有时会有一种需求,那就是希望我们的程序是一个可执行文件,而不是一个jar文件,其实大部份时候,可执行的jar文件都可以满足要求,但是如果我们的程序是需要保护的,那么打包成jar文件就不太安全了,因为jar文件就是一个解压缩文件,一解压就什么都能看到了,当然也可以选择混淆,但是混淆了以后排错就没那么容易了,因为混淆的时候,把一些类的信息都混淆了。如何既保证代码的安全又容易排错呢?那么打包成exe就是一种很好的办法了,其实我今天介绍这个方法并不是希望大家去打包成exe文件,因为exe文件毕竟不是跨平台的,用了exe的格式就失去了java的初衷了。 
    exe4j可以打包成各种格式的exe,可以把jar打包进exe,也可以引用一个外部的jar文件,还可以打包成windows服务的程序,并且可以设置最低jre的版本,还可以设定启动画面,虽然java6.0已经实现了这一点,但是还是没有exe4j生成的启动画面快。 
    3 将exe文件并jre打包成安装文件 可以在没有安装java虚拟机的电脑上运行 
    推荐工具:install4j 
    Install4j介绍 
    http://www.blogjava.net/hadeslee/archive/2007/10/15/152855.html 
    install4j是一个功能强大的,多平台Java安装文件生成工具,用于生成Java应用程序本地化的安装及应用程序发布。 install4j 的优异性在于它易于使用,紧密的集成到目标平台,以及灵活的JRE 管理与部署选项。 
    创建发布树 
    install4j的图形用户界面允许你: 
    * 完全自定义发布树 
    在发布树的每一个目录中,你能设置整个目录内容或是磁盘上任何目录的单个文件。定义的视图与结果视图让你能完全控制安装程序将发布的文件。 
    * 处理特定平台的差异 
    install4j提供方便的“包含/排除”机制,使其适应平台方式来进行发布。 
    * 针对Unix, Linux 及Mac OS X所定义的文件权限 
    对发布树的每一个元素,当其安装在类似于Unix这样的平台上时,你能自定义用户访问的权限。 
    * 定义优良的卸载策略 
    对发布树的每一个元素,你能决定在卸载时是否删除它。 
    * 定义覆盖策略 
    对发布树的每一个元素,你能配置不同的覆盖策略,当安装过程中需要覆盖文件时,这些覆盖策略会指示nstall4j进行相应的操作。 
    * 定义安装的组件 
    你能定义文件及目录的分组,形成分离的安装组件,这样你就可提供给用户来选择只安装一定的组件。 
    其实一个好的应用如果不太好布署,那么别人也只能对它望而兴叹了,现在有了install4j,很多布署的问题几乎全部解决了.我们可以用exe4j打包java应用,然后用install4j发布java应用,以前java程序布署难的问题,现在几乎都解决了.install4j不但用于打包很合适,并且它还提供了一组很强大很实用的与平台相关的api.这些对于扩展我们的程序也是有很大的帮助的.

    回答者: 破衣高手 - 初学弟子 一级  3-6 01:52

    关于两种将Java程序转化为.exe程序工具的使用及比较 
    这几天在逛blog的时候看到有关于java生成exe的工具的介绍。想到iterm上次提到的需要exe的需求。于是趁着上午比较犯困的时间,试用了两款,并对其作用作了稍稍的比较。并将结果备录在案。 
    一 JSmooth 
    1. 出品 
    Jsmooth,Sourceforge.net 
    2. 类型 
    free 
    3. 下载 
    http://jsmooth.sourceforge.net/download.php 
    4. 步骤 
    a) 利用Eclipse将所需要的主类打成可独立运行的jar包,注意添加manifest属性和MainClass。 
    b) 新建一个Jsmooth工程 
    c) 在sketlon中选择“Console“ 或者 “Windowed“ 
    d) 在Executable中的配置: 
    i. Executable Binary:填写目的输出源的名称。如test.exe. 
    ii. Executable Icon :选择一个好看点的图标 
    iii. Current Driectory :.(表示当前工程目录,当然也可行换成别的,As you wish.) 
    e) 在Application中的配置: 
    i. Classpath:选中我们所生成的jar包以及运行该jar文件所需要的类库 
    ii. Main-Class:选中我们所需要运行的主类。 
    iii. 可选项Use an embedded jar:运行该exe时可能需要到的类库(这里只能有一个类库)。 
    f) 在JVM Selection中的配置: 
    i. Minimum JVM Version:写一个需要运行该程序所需的最低的就JVM的版本,比如1.4 
    g) Compile:OK,编译成功后,在你的输出目录上就会有一个崭新的exe程序了。Just enjoy it. 
    二 exe4J 
    1. 出品 
    ej-technologies 
    2. 类型 
    Shared software,needs license 
    3. 下载 
    http://www.ej-technologies.com/download/exe4j/files.php 
    4. 步骤 
    a) 利用Eclipse将所需要的主类打成可独立运行的jar包,注意添加manifest属性和MainClass。 
    b) 新建一个exe4j工程 
    c) 选择“JAR in exe“ mode 
    d) 在Configure application中的配置: 
    i. Short name:随便写. 
    ii. Ourput Driectory :选择输出路径。 
    e) 在Configure Executable中的配置: 
    i. Executable type: 有三个选项,图形,控制台.或服务。从简单点开始吧,这里我们选console 
    ii. Executable name:填写目的输出源的名称。如test.exe 
    iii. Icon file:exe图标文件,但必须是.ico文件 
    f) 在Configure Java invocation中的配置: 
    i. Classpath:选中我们所生成的jar包以及运行该jar文件所需要的类库 
    ii. Main-Class:选中我们所需要运行的主类。 
    iii. Arguments(可选项):输入参数。我们这里暂不需要。 
    g) 在Configure JRE中的配置: 
    i. Minimum Version:写一个需要运行该程序所需的最低的就JVM的版本,比如1.4 
    h) 一直next,对于所遇到的步骤选项都默认,直到finish:OK。编译成功后,在你的输出目录上就会有一个崭新的exe程序了。Just enjoy it. 
    三 总结和比较 
    由Java生成exe的工具还有很多,上面两种是我个人觉得用起来觉得比较方便的。两者的原理基本相同,但具体用起来还是有一点点不太一样的: 
    1. 相同点 
    a) 最大的相同点当然是他们原理是互通的。都是通过将可运行的java程序打成可执行的jar包。再作转换。 
    b) 所生成的exe可执行程序,需要在装有比minimum version高的JVM环境下运行。 
    2. 不同点 
    a) 生成exe的时候,如果想要exe只需要pure JVM的环境(不需要第三方的类库)就可以运行的话。在JSmooth需要将所有的用到的第三方类库压缩成一个jar包(因为它有个embeded jar的选项),这就比较麻烦,因为当需要的jar多于一个时候,就需要将这些jar包先用jar –xvf 解压缩,在用jar –cvf重新制作新的jar文件,再放到embeded jar选项中去;而exe4J则会把classppath中所用到的jar包也会编译到exe中去。 
    b) JSmooth是免费的;而exe4J是共享软件,需要注册,否则在执行exe的时候会弹出很惹人烦的提示框。 
    c) ico文件的选择:exe4J要求严格的ico文件,而JSmooth则可以兼容jpg等其他各式的图片。 
    参考资料:http://zicozhang.spaces.live.com/blog/cns!D8216E978B608448!216.entry

  • 相关阅读:
    世界黑客怎么排名?曝郭盛华公司30万美元收购海外域名,怎么回事
    AI应该享有与动物一样的权利吗?
    2020年将会迎来人工智能新浪潮,哪些商业巨头已经提前布局好了?
    揭秘郭盛华的真实收入,事实和你想的真不一样
    Excel表格中单击一个单元格如何将整行整列变色
    ldconfig与 /etc/ld.so.conf
    在excel中,应用公式到多行
    Excel怎么把两个单元格中的文字合并到一个单元格中
    在EXCEL中批量添加超链接
    windows中对文件进行排序
  • 原文地址:https://www.cnblogs.com/xhqgogogo/p/3394828.html
Copyright © 2020-2023  润新知