当前位置: 首页 > news >正文

exe4j打包jar文件成exe .

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

exe4j打包jar文件成exe . 博客分类: java

用myEclipse -> Export 生成.class文件,然后再用 exe4j 打包工具选择刚导出的 .class 文件

之前用exe4j打包有过示例,按照之前的博客文档http://blog.csdn.net/tming_1985/archive/2009/12/24/5070540.aspx 一定能打包成功。

我用的exe4j版本是4.1 在这http://download.csdn.net/source/2378276可以下载

但发现用户总会把装到他机器上的java环境删掉,客户端总用不成。所以要求把jdk也打包到客户端程序里。虽然文件比较大,但是可以在没有装载jdk的环境下运行。以下两个截图是我在没有java环境的机子上测试的将jdk打包到客户端中可以使用。

图一 没有打包jdk

image

图二 没有打包jdk

image

         内容正文也是转载了http://hi.baidu.com/%D3%AD%B7%E7%BB%AF%D3%EA/blog/item/bc6241de5f4a5e5dcdbf1a5e.html 作者为 迎风化雨

本文首先默认你已经拥有可用的jar文件和exe4j程序。 
下面开始详述步骤: 
1.welcome-打开exe4j

clip_image001

如图,如果你有保存过的项目打包配置文件,那么点>>open打开即可。如果没有点>>next. 
2.Project type-选择打包方式

clip_image002

由于我们讲的是打包jar生成exe,所以选“jar in exe”mode,这种方式可以把一个java应用程序打包成一个exe文件,但是不能将除jar以外的附加文件打包进去。然后>>next

3. Application info-配置生成的应用程序的信息

clip_image004

 

设置你的应用程序的名称和将要生成的可执行文件的输出文件夹。然后>>next. 
4.Executable info -配置可执行文件的参数

clip_image006

type项根据你的程序的类型确定,本例为GUI程序;接下来是文件名、可执行文件的图标、是否只允许同时刻只能运行一个应用程序、当主线程有误时是否抛出异常、更改工作目录(相对于可执行文件)。然后点>>advanced options>>version info 
5.version info-设置版本信息

clip_image007

6.java invocation-配置运行环境

clip_image008

先配置class path,将此项内原有的配置全部删除,然后点“+”找到你生成的jar文件,

clip_image009

然后在上边的general中点浏览按钮,exe4j会自动找到你应用程序的入口-main class。 
在下边的advanced options中选native libraries设置,此功能是添加你程序用到的外部jar包文件,这个我一直没用过,因为我做什么事都喜欢集中,所以在程序中用到的所有外部包全整合到jdk/jre里了,这样在给客户安装程序时只要把程序直接给他考过去就可以用了,不用再安装其它东西,他们会很喜欢的哦,毕竟用户不是搞程序设计的嘛。 
7.jre-配置jre

clip_image010

在这里配置你的jre版本类型,然后再看>>advanced option>>search sequence

clip_image011

在这里来配置你运行程序所需的jre/jdk的位置,如果你只是打包后本机运行,直接指定到你本机的jre/jdk目录即可,如果你打包后的程序要在别的客户机上运行,而该机又没装jdk,这时我们就要想另一种方法了。从客户的角度讲,拿到手的软件在安装过程中应尽可能少的给客户带来繁琐的安装事项,最好只点一下鼠标就能自动安装。因此,我们要让用户省去安装jdk的麻烦。要解决这个问题,我们可以把安装好的jdk复本放置在最终产品的根目录下,然后在上图中添加这个jdk复本为程序的运行环境

clip_image012

search registty 可以扫描已经安装的jdk/jre,我们选择directory,为程序指定一个jdk目录,只需定位到jdk根目录即可,如上图。 然后>>next 
这里要说明一点,用eclipse开发的程序只要一个jre就行了,jdk不用的,所以我是把jre打包进exe运行环境的,这样的话在java version下边的那个允许使用jre beta版的选项就要选中了。 
8.preferred vm-选择虚拟机

clip_image013

这个根据具体情况选择,本例为client. 然后>>next 
9.splash screen -预载窗体

clip_image014

在这里可以设置你的预载窗体界面,不过好像只认gif类型的图片,status line and version line 可以在position text lines visually预览界面中调整其显示位置。然后>>next,接下来是选择语言界面,根据自己情况选择。然后>>next 
10.compile executable-编译生成可执行文件

clip_image015

自动跳转至:

clip_image016

在这里可以点击运行生成的可执行文件,也可以将本次配置方案保存起来以备后用

转载于:https://my.oschina.net/xiaominmin/blog/1597871

相关文章:

  • 使用 VisualVM 进行性能分析及调优
  • BZOJ1901:Zju2112 Dynamic Rankings——题解
  • Android交互
  • 第 15 章 Admonition 警告与提示
  • Android OkHttp简易使用
  • 怎么让div内容超出后自动显示滚动条
  • .NET使用存储过程实现对数据库的增删改查
  • extends继承
  • 《SqlServer 系列》 - 函数
  • Android 100+行实现本地跳一跳辅助(不需要连接电脑)
  • MyBatis DAO层传递参数到mapping.xml
  • 微内核与面向组件
  • 运维学python之爬虫中级篇(二)线程、协程
  • 资料推荐--Google Java编码规范
  • Python中的string模块的学习
  • __proto__ 和 prototype的关系
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • canvas绘制圆角头像
  • Java 最常见的 200+ 面试题:面试必备
  • JAVA_NIO系列——Channel和Buffer详解
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • PAT A1092
  • Unix命令
  • ViewService——一种保证客户端与服务端同步的方法
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 力扣(LeetCode)357
  • 前嗅ForeSpider中数据浏览界面介绍
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 软件开发学习的5大技巧,你知道吗?
  • 协程
  • 一个完整Java Web项目背后的密码
  • 在Mac OS X上安装 Ruby运行环境
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • nb
  • ​一些不规范的GTID使用场景
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #宝哥教你#查看jquery绑定的事件函数
  • $.ajax()
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十六)一篇文章学会Java的常用API
  • .Family_物联网
  • .NET DataGridView数据绑定说明
  • .net2005怎么读string形的xml,不是xml文件。
  • .NET企业级应用架构设计系列之结尾篇
  • .NET企业级应用架构设计系列之应用服务器
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [100天算法】-目标和(day 79)
  • [100天算法】-实现 strStr()(day 52)