Java打包生成exe

生成jar

先使用eclipse生成可执行的jar【可执行的jar包含内容更全面,包括指定主类的.mf】

Exe4j的使用

一定要可执行jar进行打包。

Project type选择Regular mode(一般jar包模式)

Application info填写一个发布目录(这个后面相对路径的根目录)

Executable info 填写可执行文件名

Java invocation 配置classpath 要添加运行的jar和该jar所调用的所有jar(可以添加目录)

选择Main class

可以不进行打包,直接复制所有文件就可以进行传播(所谓绿色版本)。即使使用下面方法打包成exe之后,安装完成的文件其实和原来的文件一致,本质上就是一次压缩与解压缩。

Inno setup的使用

新建空脚本-填写基本信息

指定应用程序主执行程序,添加其他应用程序文件,此处为要执行的jar(特别重要),需要使用的jar文件夹和jre文件夹。【特别注意:此处需要将资源文件全部放到一个文件夹中比如:config,然后添加config文件夹。添加文件夹这里实际上是添加文件夹里面的各个文件。】

后面的按照情况认真填写就行,最后编译(生成安装包)。

注意点:

(1)exe安装之后运行的exe与其他支持类库相对路径一定要与exe4j中保持一致

(2)Class path是相对第三步的发布路径(Distribution source directory)而言的,配置包括自己jar,使用jar。

(3)jre配置在jre的Search sequence中

优秀范例

建立一个文件夹ibe。

在ibe中建立Identity文件夹,其中包含jre(bin和lib) resource(配置文件等资源文件) lib(要使用的第三方类库) Identity.jar identity.exe(使用exe4j生成的)

在ibe中建立.exe4j(相对路径以第三步设定的发布路径为准)和.iss文件依次进行操作(导入的是整个文件内部内容而不包括文件夹)。

Ico制作

http://ico.55.la/

在线生成

先做一个png等类型的图片

然后上传,一般选32*32的ico图片,点击下载保存ico文件

Exe4j下载与安装

注册码:

A-XVK258563F-1p4lv7mg7sav

A-XVK209982F-1y0i3h4ywx2h1

A-XVK267351F-dpurrhnyarva

A-XVK204432F-1kkoilo1jy2h3r

A-XVK246130F-1l7msieqiwqnq

A-XVK249554F-pllh351kcke50

A-XVK238729F-25yn13iea25i

A-XVK222711F-134h5ta8yxbm0

A-XVK275016F-15wjjcbn4tpj

A-XVK275016F-15wjjcbn4tpj

安装Inno Setup

直接下载安装即可

Java打包生成exe(使用exe4j和inno setup)的更多相关文章

  1. pyinstaller 打包生成exe之后运行提示‘no module name 'xxx'’错误

    python 3.7 pyinstaller 3.4 具体情况: pycharm中点击运行可成功执行,生成正确结果,没有报错. 双击run.py(程序运行的主文件),运行,可生成正确结果,没有报错. ...

  2. VS2010 打包生成exe文件后 执行安装文件出现 TODO:<文件说明>已停止工作并已关闭

    一.VS2010 打包生成exe文件后  执行安装文件出现  TODO:<文件说明>已停止工作并已关闭 TODO: <文件说明>已停止工作 原因: 打包的时候在文件系统中建立了 ...

  3. 使用EXE4J和Inno Setup 编译器将java程序打包成windows桌面应用安装程序

    java项目结构如下: Demo是模仿程序快照,主要设计两个按钮:保存快照和恢复快照: 保存快照将对象(窗口)序列化保存下来,后面无论做了什么操作,只要点击恢复快照, 就会读取之前保存的序列化的对象. ...

  4. python开发环境配置和python源码打包生成exe可执行文件

    Windows下开发环境准备 1.分别安装:python2和python32.安装Python的集成工具:Anaconda3.安装Pycharm Pycharm设置 设置: File->Sett ...

  5. Java 打包成exe安装包

    1.在eclipse中导出Runnable JAR file 2.选择主函数所在的类和输出位置后finish: 3.这里选择的打包工具是exe4j,在网上找序列号注册一下,否则在打完后在exe运行时, ...

  6. 3、electron打包生成exe文件

    打包方式1:DOS窗口命令打包 DOS 下,输入 npm install electron-packager -g全局安装我们的打包神器: cnpm install electron-packager ...

  7. python打包生成exe文件

    今天任务让做一个可以在Win上直接执行的脚本,百度了下原来可以生产.exe文件.神奇了 安装 pyInstaller pip install pyInstaller  进入要打包文件的目录 执行 py ...

  8. Java基础(60):Java打包生成Jar和Javadoc说明文档,以及在另外的工程中导入和使用自己的Jar

    一.Jar包的导出 1.在Package Explorer中选中项目,右键,点击“Export”   2.在弹出框一次选择Java-->JAR file,点击Next   3.在新弹出的窗口选择 ...

  9. 更换用installshield打包生成exe文件的图标【转】

    最近在研究用installshield2010为自己做的产品打包,自己在网上找写资料,胡乱折腾,最后弄成了一个exe安装包,想要修改exe文件的图标,发现Basic MSI project 无法用in ...

随机推荐

  1. [BZOJ2594][WC2006]水管局长加强版(LCT+Kruskal)

    2594: [Wc2006]水管局长数据加强版 Time Limit: 25 Sec  Memory Limit: 128 MBSubmit: 4452  Solved: 1385[Submit][S ...

  2. 【最小割】【Dinic】HihoCoder - 1252 - The 2015 ACM-ICPC Asia Beijing Regional Contest - D - Kejin Game

    题意:有一个技能学习表,是一个DAG,要想正常学习到技能x,要将指向x的技能全部先学到,然后会有一个正常花费cx.然后你还有一种方案,通过氪金dx直接获得技能x.你还可以通过一定的代价,切断一条边.问 ...

  3. Android 应用内多进程实现

    android平台支持多进程通信,也支持应用内实现多进程那么多进程应该能为我们带来什么呢我们都知道,android平台对应用都有内存限制,其实这个理解有点问题,应该是说android平台对每个进程有内 ...

  4. bzoj 1468

    大概思路:树点分治,重心树中每个重心维护一个总的平衡树,树中保存属于该重心的点到该重心的距离,然后对于去掉该重心后形成的子树分别再保存一份. 用这种方式实现的话,还可以支持修改与多次查询,每次操作都是 ...

  5. Android Studio 2.3更换默认的ConstraintLayout布局

    首先打开你的Android Sudio安装目录,我的为D:\Program Files\Android\Android Studio,进入到以下文件夹\plugins\android\lib\temp ...

  6. spring集合类型注入

    spring集合类型注入 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUB ...

  7. CSS的outline属性

    input标签的outline的三个属性: outline-color outline-style outline-width 当设置input的focus状态的时候可以使用. input:focus ...

  8. Struts2中表单与Action传递数据三种方式

    1.       Action中的属性与表单中的属性一致就可以 JSP中的表单 <form action="login.action" method="post&q ...

  9. java.lang.RuntimeException: java.io.IOException: invalid constant type: 15

    java.lang.RuntimeException: java.io.IOException: invalid constant type: 15 controller通过dubbo调用servic ...

  10. set是无序集合,放入set中的元素通过iterator输出时候是无序的

    set是无序集合,放入set中的元素通过iterator输出时候是无序的 HashMap<String , String> hashMap = new HashMap<String ...