首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了;但是exe文件在没有安装jre的电脑上不能运行,如果要求客户再去安装jre 设置环境变量 就不雅了。我们需要将jre打包。

这几步操作网上介绍的插件和方法很多,但有的好用有的不好用,而且有的还需要注册。经过尝试比较,在“千里冰封”的博客上得到了很大的帮助。整理一下。使用这几个工具,您也可以顺利的发布您的java程序!

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.这些对于扩展我们的程序也是有很大的帮助的.

from:http://lzc2125.blog.163.com/blog/static/42265920087455544983/

 

Tags:

原创文章如转载,请注明:转载自:飞扬部落编程仓库 : http://www.busfly.cn/csdn/

java打包-exe文件-最终以setup形式发布的解决之道相关推荐

  1. java应用程序利用Exe4j打包exe文件

     java应用程序利用Exe4j打包exe文件 今天上课给学生介绍利用Myeclipse打jar包和exe文件,随便就随手写了下文档供大家参考,希望对大家有用. 1.      使用简介: 把java ...

  2. Python 使用pyinstaller打包exe文件报错: TypeError: an integer is required (got type bytes) 的解决方法

    python打包成exe文件首先需要安装pyinstaller库,再进入到目标文件目录,输入命令行打包py文件,但出现报错:TypeError: an integer is required (got ...

  3. python封装方法有几种_Python打包exe文件方法汇总【4种】

    Python 打包 exe 文件方法汇总 Python 作为解释型语言,发布即公开源码, 虽然是提倡开源但是有些时候就是忍不住想打包成 exe ,不仅仅是为了对代码进 行加密,而是为了跨平台.防止有些 ...

  4. pyinstaller打包exe文件的详细步骤及过程中遇到的问题

    因项目中需要将写好的python文件交给第三方使用,但又不想将源码奉献给别人,所以想着将文件打包成exe文件,方便使用的同时也不暴露源码.---.--- 1.本人的配置环境 平台:windows10 ...

  5. Py打包应用程序(zipapp打包.pyz文件、pyinstaller打包exe文件)

    ''' Py打包应用程序.py (zipapp打包.pyz文件.pyinstaller打包exe文件)注意: 一.zipapp模块 打包档案包 的 命令行语法: python -m zipapp so ...

  6. 好用的python打包软件_Python打包exe文件方法汇总【4种】

    title: Python打包exe文件方法 copyright: true top: 0 date: 2018-08-11 21:08:21 tags: 打包 categories: Python进 ...

  7. MATLAB打包exe文件及打包期间出错问题解决

    MATLAB路径不可以有中文! 有一些m文件不能被二进制化. MATLAB打包exe文件步骤 1. 上边栏选择APP,点击Application Compiler 2. Add main file 3 ...

  8. VS2019项目打包exe文件教程

    VS2019项目打包exe文件教程 需要的环境 生成项目EXE 需要的环境 在使用Vs2019打包项目生成EXE文件,我们需要一个插件 这里提供两种安装插件的方法 Microsoft Visual S ...

  9. python打包exe黑框一闪而过,解决pyinstaller打包exe文件出现命令窗口一闪而过的问题...

    用pyinstaller打包的exe文件打开时,命令窗口一闪而过,并且未出现GUI界面,也看不到错误信息,然后去网上搜相关的信息,最多的两种说法: 1.添加raw_input()或者os.system ...

  10. python pyinstaller 打包exe文件,(附带图片 + 自己、别人电脑上均可以运行)

    python pyinstaller 打包exe文件,(附带图片 + 自己.别人电脑上均可以运行) 科目:windows + python pyinstaller 打包exe 内容:打包程序.图片.视 ...

最新文章

  1. 上海交大发布 MedMNIST 医学图像分析数据集 新基准
  2. EventBus源码解析
  3. windows下ffmpeg使用dxva2加速硬件解码
  4. 计算机应用中的CAI,????按计算机应用的分类,CAI应属于()应用。
  5. Apollo自动驾驶入门课程第⑨讲 — 控制(上)
  6. Python 列表笔记
  7. java 并发编程框架
  8. Redmi 9将升级双频WiFi:定义2020入门机新标准
  9. 架构的坑系列:重构过程中的过度设计
  10. c++解析xml文件_XML文件解析实践(DOM解析)
  11. 编码器rtsp规则-各厂商
  12. linux vi命令怎么使用方法,Linux下 vi 命令用法
  13. JavaScript 设计模式之模板方法模式
  14. Lnux-组-用户管理
  15. 解决 command not found: brew :Mac安装Brew
  16. 浅谈鸽巢原理的证明和简单应用
  17. iOS客户端开启FTP,其他设备访问手机本地文件操作实现
  18. 解决win10 软件商店出现错误,和edge浏览器打开无法访问网络
  19. Switch语句流程图
  20. html5 video自动播放下一个源码

热门文章

  1. [转][python] 常用正则表达式爬取网页信息及分析HTML标签总结
  2. 如何用adb链接手机,并异常情况下的处理(转)
  3. sourceInsight
  4. 智能替换DataTable.Select中会导致错误的单引号 的另一种算法实现.
  5. 多媒体计算机设备使用注意,多媒体电教设备常见问题与解决办法
  6. Java NIO 详解(一)
  7. 那些不需要你知道的Chrome DevTool - 使用技巧篇
  8. git将本地练手的项目放置到git远端上--本地仓库和远程建立连接
  9. Spring IOC基础使用
  10. 堆区和方法区的小认识