本文重点介绍如何将我们写的java代码打包成在电脑上可以运行的exe文件

本文重点介绍如何将我们写的java代码打包成在电脑上可以运行的exe文件。这里只介绍直接打包成exe的方法,至于打包成exe安装包下节介绍

test

软件准备

exe4j集合包下载地址(下节内容也在这里)

  • 今天我们下载好上面的内容之后只需要用到其中的一个软件,对,就是里面的exe4.exe文件

  • 然后就是安装这个软件,软件都是傻瓜式安装。不多说!安装后首页显示,激活码去网上搜索!

jar包准备

  • 在打包之前我们当然得先准备jar包啦。选择项目右击-->Export-->Runnable JAR file

  • 点击下一步 别忘记选择主入口,这些在之前的文章都已经说过了。

打包开始

  • 在打包开始我们得想之前我用jsmooth打包exe文件一样,需要准备jre文件,我这里就用了jdk文件,jre好像不行

  • 下面就开始打包的真正的开始了,首先我们打开之前安装好的exe4j这个软件。直接点击第二步:peoject type 选择 JAR in EXE mode

  • 点击next我们会看到需要我们填写工程的简名和程序的输出地址,工程简名可以随便填写,输出地址 就是你想把你的exe文件最后输出在哪里,建议放在你好找的地方,毕竟以后你只用点击exe就能运行了。

  • 然是继续点击next,下一个界面我们遇到选择模式的Executable type,这里就取决与我们java的代码了,如果你开发的是黑窗体程序就选择console application; 如果开发的是java swing 程序那就选择默认的GUI application ,第三个选项我也不知道是java 什么程序。读者可以自己研究。我这里就选择默认的GUI程序了。
  • 第二个选项是Executable name 顾名思义就是你程序的名字,你可以起一个响亮的名字,这里支持中文名字的。
  • 第三个选项是Icon File 这就是我们exe层序的图标,就像QQ软件那个企鹅一样,建议可以设置成自己的个性照片,但是这个只能用ico格式的图片。当然也可以不选择,就用系统默认的图标

  • 这里设置好之后我们点击界面的左侧菜单Executable info 下面的Advanced options,因为这里我们需要设置一些详细信息,这里不点很难成功的打包的。

  • Redirection参数

  • service options

这里的参数我们自己看看懂了,大家可以设置也可以不设置。

  • version info 这里也不重要,看看我的参考吧

  • 32 -bit or 64 - bit
    这个就是取决于你的i项目在那里运行了,如果你想让他在64系统下能
    运行你就选择Generate 64-bit executable 打上√,否则不勾。

  • Mainfest options 这里不选择,让他默认就行了

  • 然后就是添加jar包了。(java invocaton)

  • 在class path中点击加号选择我们之前打好的jar包

  • 选择好 jar包我们就选择下面的Main classs中选择我们需要程序运行的主入口,这个对于开发来说应该都懂得。

  • jre部分设置好最低最高版本之后点击Advanced Options-->Search sequence ,默认是会选择我们电脑上系统环境中的jdk,但是我们系统环境的jdk不能被别人用到所以我们这里把默认的三个全部散掉,然后添加我们事先准备好的jdk

  • next之后出现Preferred VM 中选择Client hostpost VM

  • next之后,我们到了Splash screen,就是你的程序启动界面,如果你想做的酷炫点就可以选择一下,这里图片没有限制应该,我选的就是普通的图片,你也可以试试GIF 动态图。

  • 到这里你就可以一直下一步。一直到下面这个界面你就可以选择Finishing 或者启动程序了。

效果图

  • 启动图

  • 运行后界面
  • 图标变了

  • 其他你可以右键这个exe看看属性就是我们上面设置的一些可有可无的东西楽。

加入战队

# 加入战队

微信公众号

别说你不会开发exe程序,拿走不谢。的更多相关文章

  1. 使用node-webkit开发exe窗口程序

    首发:个人博客,更新&纠错&回复 ====关于原生程序与壳中程序的议论begin==== 在所有用户windows机器上都能直接跑的程序,如果不采用微软系的语言,如VB,C++,C#等 ...

  2. Autocad中使用命令来调用python对Autocad二次开发打包后的exe程序

    在Autocad中直接调用Python二次开发程序是有必要的,下面介绍一种方法来实现这个功能: 其基本思路是:先将二次开发的程序打包为可执行程序exe,然后编写lsp文件,该文件写入调用exe程序的语 ...

  3. aardio + .NET 快速开发独立 EXE 程序,可防 ILSpy 反编译

    简介 aardio 可以非常方便地调用 .NET( 不需要任何复杂的步骤 ). .NET 在 aardio 中很好用,系统自带 .NET 组件以及各种开源 .NET 组件在 aardio 用户中也很受 ...

  4. 放弃 Electron,拥抱 WebView2!JavaScript 快速开发独立 EXE 程序

    Electron 不错,但也不是完美的. Electron 带来了很多优秀的桌面软件,但并不一定总是适合我们的需求. 多个选择总是好事! 我使用 Electron 遇到的一些麻烦 1.Electron ...

  5. 本地json文件的编辑器,node-webkit开发的exe程序

    首发:个人博客,更新&纠错&回复 在昨天的dota契合度计算器中,用到了dota英雄数据和dota玩家数据这两个数据库,为了便于网页应用使用,这两个数据库的存储格式是json,即her ...

  6. 如何制作exe程序可执行文件

    很多软件的运行都需要搭建环境,只有exe文件可以在不安装软件和数据库的环境下运行,那么怎么制作exe程序可执行文件呢,下面天使教你如何制作.   工具/原料   Microsoft Visual St ...

  7. 使用cx_Freeze 将python3代码打包成.exe程序

    在这里分享一下如何在py3下使用cx_Freeze打包pyqt5的程序 首先吐槽下,深深鄙视一下百度,各种百度各种没有,之前我在py2.7下使用pyqt4开发过一个小软件,用的是py2exe进行打包的 ...

  8. 部署vc2008开发的程序(三种办法,但是我觉得这种办法最不好)

    如果你编译了一个VC2008的默认的CRT/MFC的应用程序,如果目标部署电脑上没有安装相应的VC2008的动态库,当运行你的程序的时 个,会出现如下错误信息.   这是因为程序使用了基于VC2008 ...

  9. 部署vc2008开发的程序(vcredist_x86是其中一个办法)

    如果你编译了一个VC2008的默认的CRT/MFC的应用程序,如果目标部署电脑上没有安装相应的VC2008的动态库,当运行你的程序的时 个,会出现如下错误信息.   这是因为程序使用了基于VC2008 ...

随机推荐

  1. 考试安排查询脚本(CUP)

    去年热情高涨的时候心血来潮做了个简易的查询脚本,限于当时技术水平(菜),实现得不是很好,这几天终于想起来填坑了.环境依赖: brew install python3 pip3 install requ ...

  2. MyBatis 简介与入门

    简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.My ...

  3. WPF:Task与事件在下载同步界面中的应用

    //设置一个下载事件类,可传输一个字符串  public class DownloadEventArgs:EventArgs     {         public string id { get; ...

  4. AppBoxFuture: 123挨个站-数据按序存储

      最近几天在优化存储的编码规则,顺带把之前设计了但未实现的倒排序一并实现了.由于所有数据(元数据.实体.索引等)都映射至RocksDB的Key-Value存储,所以必须扩展RocksDB的自定义比较 ...

  5. Linux 常用命令及详解

    1.  type   :查询命令 是否属于shell解释器2.  help  : 帮助命令3.  man : 为所有用户提供在线帮助4.  ls  : 列表显示目录内的文件及目录-l    以长格式显 ...

  6. Docker系列开篇之Virtual Machine VS Container(一)

    前言 本节开始我们正式进入Docker系列,网上关于Docker相关文章如数家珍,写博客至今,我也一直在朝着如何写出通俗易懂且不枯燥的文章这个目标前进,喃喃自语的同时也希望看到文章的童鞋能明白我在讲什 ...

  7. 本地NTP服务器与客户端配置

    1. NTP 简介 NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议. 在集群中,为了保证各节点之间的时间一致,我们通常需要配置本地的 NT ...

  8. mysql新建用户及授权

    添加用户 CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; -- username : 自定义用户名 -- localhost ...

  9. CentOS 7服务器安装brook和bbr加速

    一.安装Brook 执行一键部署脚本 $ wget -N --no-check-certificate wget -N --no-check-certificate https://raw.githu ...

  10. Kafka面试,看这篇文章就够了

    原文链接:https://mp.weixin.qq.com/s/zxPz_aFEMrshApZQ727h4g** 引言 MQ(消息队列)是跨进程通信的方式之一,可理解为异步rpc,上游系统对调用结果的 ...