`
dreamoftch
  • 浏览: 503527 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java程序转为exe可执行程序(inno setup)

阅读更多

inno setup 文档:http://www.jrsoftware.org/ishelp/index.php

 

Java project 打包以及安装包制作

Java的桌面程序写好以后只能在eclipse下运行是不可以的,还需要将程序拷贝到其他电脑上运行才可以,所以需要制作成其他电脑可以运行的文件,当然在安装有jdk的电脑上只需要将程序导出为jar文件就可以运行了,但是除了开发java程序人员的电脑上会安装jdk,其他人的电脑上不会有这个环境,所以还需要将java可运行的环境一同打包到程序中去,这样,在用户不安装jdk的情况下也可以运行。

制作可执行文件的过程

一、首先程序写好后导出jar文件

1. eclipse中右键工程文件,选择Export


2. 选择导出为runnable jar file,然后next

3. 选择应用程序的主入口窗口,保存jar的路径,导出文件的方式,选择第一个第二个都可以,他们都包含程序所需要的库文件,第一个导出的好处是防止程序被反编译,第二个可以保留原有的文件结构,然后finish

4. 找到导出后的jar文件,如图

二、使用java命令运行这个文件

1. 打开命令提示符窗口,找到jar的目录

2. 使用 java jar命令运行这个jar文件

3. 回车看到程序运行起来

4.但是程序没有图片,仔细看jar包的大小可以猜测没有资源文件,用WinRAR查看jar内部结构发现没有这些资源

三、程序所需的资源文件拷贝到jar的相同目录

1. 找到project中的除src以外需要的文件资源

2. 将这些文件资源复制到与jar包相同的目录

3. 再次运行这个jar文件,发现已经包含了图片等文件

4.我们肯定不能让用户这样去运行我们的程序,所以必须要转成可以双击运行的方式。

四、将jar文件转换为可以直接双击运行的exe文件

1. jar文件转为exe文件有一个很好的软件叫做jar2exe,官方下载地址:

http://www.regexlab.com/zh/jar2exe/free.htm

我们下载绿色版本

2. 下载好以后直接解压即可,运行里面的j2ewiz.exe文件

3. 看到启动窗口,无需注册直接下一步

4. 找到jar的路径,选择最低运行jar文件的版本,点下一步

5. 选择windows窗口程序,下一步

6. 选择应用程序的进入窗口,设置开启时候的动画(可以不设置动画),下一步

7. 忽略所有选择,直接下一步

8. 不需要添加依赖的jar包,下一步

9. 设置输出的路径文件名,也可以设置exe文件的图标,点下一步

10. 如果你电脑上配置好了环境变量,而且不需要把程序拷贝到别的电脑上去运行,那么你可以直接点击完成。

11. 如果需要复制到其他没有jre环境的电脑上运行,那么你先保留上面的窗口,复制jre到刚才的jar文件相同的目录,如图:

Jre的路径就是你安装jdk的路径,我的是C:\Program Files\Java\jre1.6.0_07下。

12. 然后选择刚才窗口的参数配置按钮,配置jre的路径为jar包的相对路径,如图

选择jre设定标签,选择配置文件指定’’,选择相对路径,然后编辑

找到jre中的jvm.dll,然后确定,应用就可以了

此时文件夹中会多出一个config文件,这个文件就可以是exe文件引用同目录的jre环境,如图:

13. 转换完成以后jar包就可以删除了,双击exe运行,看看效果:

14. 为了验证这个程序可以在没有安装jdk的电脑上运行,我们测试一下,打开win7旗舰版的xpmodexpmodewin7的一个xp的虚拟机,里面是完全的一个xp系统,将文件复制到xp中,如图

双击Kejian.exe,看一下效果:

16.虽然程序已经完成,但是我们不可能会给用户一个文件夹,然后让用户复制,复制好以后双击exe去运行这个程序,所以接下来我们还要制作安装程序包。

五、制作程序安装包

1. 制作安装包需要的软件名字叫做Inno Setup,软件完全免费,可以从360安全卫士的软件管家搜索下载,如图:

安装的时候编译器选择Unicode版本就可以了,当然选择ansi也可以,但是支持的编码不如Unicode多。

2. 安装好以后打开程序选择使用向导创建脚本:

3. 直接下一步

4. 设置程序名称、程序版本、公司名称、公司网址信息后下一步

5. 直接下一步

6. 找到exe文件以及exe所在的文件夹,下一步

7. 设置程序安装后在用户电脑中显示的文件夹名称以及一些开始菜单等的选项,可以自己选,然后下一步

8. 这些设置可选,直接下一步

9. 选择简体中文,下一步

10. 设置输出路径、安装包名称、安装密码安装文件的图标等信息,可以默认,下一步

11. 这一步可要可不要,直接下一步

12. 点击完成

到此脚本创建完成,执行脚本就可以得到安装程序了。

13. 选是

14. 可以不保存,自愿,点击后自行编译

15. 完成以后如果你选择了保存编译脚本那么在编译脚本相同目录会有一个output文件夹,如果没有保存编译脚本,那么就会在用户的我的文档中有一个output文件夹,里面就是生成的安装文件:

16.到这里安装包就制作好了,可以测试一下,方法很简单,就不再写了。

 

转自:http://wenku.baidu.com/view/58f94ee9aeaad1f346933f34.html

分享到:
评论

相关推荐

    java转为setup.exe必备的一款软件

    标题中的“java转为setup.exe必备的一款软件”指的是将Java应用程序转换为Windows平台下的可执行文件(.exe)的过程。通常,Java程序是以JAR(Java Archive)文件形式存在的,而不能直接在没有Java运行环境的计算机...

    市场营销计划书.docx

    市场营销计划书.docx

    电缆叉绞机sw18_三维3D设计图纸.zip

    电缆叉绞机sw18_三维3D设计图纸.zip

    (WORD) 土木工程专业毕业设计开题报告 办公楼设计 开题报告.doc

    (WORD) 土木工程专业毕业设计开题报告 办公楼设计 开题报告.doc

    矿区综合能源系统中碳捕集与电转气技术的协同优化调度及低碳经济模型

    内容概要:本文详细介绍了云南某矿区采用碳捕集与电转气(P2G)技术进行综合能源系统优化调度的研究。通过实例展示了如何利用瓦斯、余热等伴生能源,结合碳捕集和P2G技术,实现了矿区能源系统的高效利用和低碳转型。文中提供了具体的Python代码示例,如瓦斯热值转换、碳捕集与P2G的耦合约束、阶梯式碳机制等,展示了技术细节和优化效果。此外,还讨论了风光消纳率提升、碳交易收益以及系统总成本降低等方面的内容。 适合人群:从事能源系统优化、碳捕集技术和电转气技术研发的专业人士,以及对低碳经济感兴趣的科研人员。 使用场景及目标:适用于希望了解和应用碳捕集与电转气技术进行矿区能源系统优化的企业和技术团队。目标是提高能源利用效率,减少碳排放,降低成本。 其他说明:文章不仅提供了理论模型和算法,还包括了实际项目中的代码实现和优化结果,有助于读者更好地理解和应用相关技术。

    卧式长轴切割机sw20可编辑_三维3D设计图纸_三维3D设计图纸.zip

    卧式长轴切割机sw20可编辑_三维3D设计图纸_三维3D设计图纸.zip

    基于单片机protues仿真制作的超高精度电参数测试(仿真图、源代码)

    基于单片机protues仿真制作的超高精度电参数测试(仿真图、源代码) 这次设计的课题,智能电参数测试电路是基于单片机,控制外部器件进行操作的。利用protues软件进行局部电路的描绘。然后在使用Keil4软件针对protues仿真部分作出代码控制程序,经过编译,修改调试生成hex文件。最后再把.hex文件加载到protues中ATC80C52单片机芯片系统中,运行硬件仿真电路,做完局部仿真后。最后将部分电路进行模块化处理。最后整合在一块,通过外部中断切换显示各个模块测试的结果数据。 1、单片机仿真; 2、液晶屏或者数码管显示; 3、电流、电压、电阻测量和显示; 4、超高精度电参数测试; 5、仿真图、源代码;

    基于西门子1200PLC的脉冲除尘控制系统设计与实现

    内容概要:本文详细介绍了如何利用西门子1200PLC进行脉冲除尘系统的控制。首先描述了硬件配置,包括PLC主模块、数字量扩展模块以及电磁阀组的连接方式。接着深入探讨了核心控制逻辑的实现,采用SCL语言编写控制程序,实现了分组控制、定时器配置、故障诊断等功能。文中还提供了具体的代码示例,展示了如何通过定时器、脉冲发生器等组件精确控制脉冲阀的工作周期和顺序,确保除尘系统的高效运行。此外,文章分享了一些实际调试过程中遇到的问题及其解决方案,如脉冲宽度设置不当导致的空压机过载、电磁阀内部触点粘连等问题,并提出了相应的预防措施。 适合人群:从事工业自动化领域的工程师和技术人员,特别是熟悉PLC编程和脉冲控制系统的从业者。 使用场景及目标:适用于需要设计和实施高效脉冲除尘控制系统的工厂环境,旨在提高除尘效率,降低能耗,延长设备使用寿命。通过学习本文,读者能够掌握如何使用西门子1200PLC实现复杂的脉冲控制逻辑,解决实际工程中可能遇到的各种问题。 其他说明:文章不仅提供了详细的代码示例,还强调了实际应用中的注意事项和调试技巧,帮助读者更好地理解和应用所学知识。

    汽车开关测试台sw23_三维3D设计图纸_三维3D设计图纸.zip

    汽车开关测试台sw23_三维3D设计图纸_三维3D设计图纸.zip

    双面锯片磨sw18可编辑_三维3D设计图纸_三维3D设计图纸.zip

    双面锯片磨sw18可编辑_三维3D设计图纸_三维3D设计图纸.zip

    模块化除臭生物箱sw18可编辑_三维3D设计图纸_三维3D设计图纸.zip

    模块化除臭生物箱sw18可编辑_三维3D设计图纸_三维3D设计图纸.zip

    基于MATLAB的矢量延迟锁定环(VDLL)用于GPS信号跟踪的仿真研究

    内容概要:本文介绍了基于矢量延迟锁定环(VDLL)的GPS信号跟踪算法的MATLAB仿真实现。首先,通过生成带有多普勒频移和码相位抖动的GPS中频信号,模拟真实场景。接着,详细阐述了VDLL的核心实现,包括超前即时滞后三路相关、误差计算、状态预测和卡尔曼滤波的应用。文中强调了环路滤波器带宽的自适应调整和动态应力测试的重要性,并展示了仿真结果,证明VDLL在高动态环境下的优越性能。最后,提供了完整的代码包和设计文档,涵盖信号生成、本地信号发生器、相关器组、EKF实现、性能评估和可视化工具等多个模块。 适合人群:从事GPS信号处理、无线通信系统设计的研究人员和技术开发者,尤其是对高动态环境下的信号跟踪感兴趣的工程师。 使用场景及目标:适用于需要提高GPS信号跟踪稳定性和精度的场合,如车载导航、航空导航等领域。目标是通过矢量化处理和动态调整,增强系统的抗干扰能力和跟踪稳定性。 其他说明:文中提到的关键技术和实现细节对于理解和优化GPS信号跟踪算法非常有价值。此外,提供的代码包和设计文档可以作为进一步研究的基础。

    芒果品种及分级图像数据集.zip

    数据说明: 该数据集包含8种巴基斯坦芒果的图像2200张。在提出的数据集上进行实验,对收获的芒果进行自动分类和分级,以帮助农民及时交付高质量的芒果供出口,并使用卷积神经网络实现了高准确性。 研究人员和学生可以使用这个数据集来开发、测试和评估不同的计算机视觉算法,为改善农业部门作出贡献。所提供的数据集可被视为测试和比较不同技术水平性能的基准。

    java时间轮工具源代码

    时间轮源码

    光伏混合储能VSG并网仿真模型:解析VSG控制与储能协同优化

    内容概要:本文详细介绍了光伏混合储能系统的虚拟同步发电机(VSG)并网仿真模型。该系统由VSG控制模块、光伏PV模块、蓄电池以及超级电容组成。VSG通过有功-频率环和无功-电压环进行精确控制,确保系统稳定运行。光伏模块采用MPPT扰动观察法跟踪最大功率点,蓄电池提供稳定的恒功率输出,超级电容则用于快速响应瞬态负载变化。文中展示了各个模块的核心代码逻辑及其在仿真环境中的表现,强调了参数整定对系统性能的影响。 适合人群:电力电子工程师、新能源研究人员、仿真建模专家。 使用场景及目标:适用于研究光伏混合储能系统的并网控制策略,优化储能设备的协同工作,提高系统的稳定性和响应速度。目标是通过仿真验证系统在各种工况下的性能,为实际应用提供理论支持和技术指导。 其他说明:文章提供了丰富的代码片段和仿真案例,帮助读者深入理解各模块的工作原理和相互关系。同时,作者分享了许多调试经验和常见错误,有助于新手更快掌握相关技术。

    电大土木工程毕业设计施工组织设计_图文.doc

    电大土木工程毕业设计施工组织设计_图文.doc

    报价单封面建筑土木工程.doc

    报价单封面建筑土木工程.doc

    西门子S7-200 SMART与台达DT330温控器485通讯及昆仑通态触摸屏控制方案

    内容概要:本文详细介绍了如何通过485通讯实现西门子S7-200 SMART PLC与三台台达DT330温控器的通信,并结合昆仑通态触摸屏实现温度监控与设定。主要内容涵盖硬件连接、温控器设置、PLC程序设计(包括初始化、轮询读取温度、中断接收处理、设置温控器温度)、触摸屏设置及常见问题解决方法。文中还特别强调了Modbus RTU轮询机制的应用及其重要性。 适合人群:从事工业自动化控制领域的工程师和技术人员,尤其是那些需要实现PLC与温控器通信的人群。 使用场景及目标:适用于需要精确控制和监测温度的工业环境,如生产车间、实验室等。目标是提供一种稳定可靠的技术方案,确保不同设备间能够高效通信,从而实现精准的温度控制。 其他说明:文中提供的具体代码片段和配置指南有助于读者更好地理解和实施该项目。此外,作者还分享了一些调试过程中遇到的问题及解决方案,帮助读者规避潜在的风险。

    安卓app开发学习笔记

    安卓app开发学习笔记

Global site tag (gtag.js) - Google Analytics