将Java代码打包成jar文件转换为.exe可执行程序方法

做完学生管理系统后我想将代码打包成一个可执行程序,那样就可以直接点击在Windows下运行了,下面就跟大家分享下打包方法。

将Java的代码转换成 .exe 文件需要先把代码打包成 jar 文件然后进行转换所以我们需要先将代码打包成 .jar 文件,打包的方法有很多种,比如可以到项目根目录下用直接用 Java 的打包命令进行打包或者其他方法可以百度了解,然后这里我是直接在 idea 中进行打包的。

首先进入 idea 打开项目,点击左上角文件再点击项目结构,找到构件点击图中的 + 找到 JAR 选择图中的第二个并点击,右上角记得选择JAR,至于输出目录建议不要改以免出现不必要的问题。

将Java代码打包成jar文件转换为.exe可执行程序方法

接着进入到以下界面,项目中可能有多个模块,选中你想要打包的模块,点击文件图标会自动扫描该模块中的main方法所在文件,直接选中即可,白色框框中的路径一般不需要改,会自动生成在项目src文件下,最后点击应用确认就可以了。

将Java代码打包成jar文件转换为.exe可执行程序方法

设置好了后还没结束,来到idea中,点击上方的构建,选图中的编译…(省略),选择build这样就可以了 。

将Java代码打包成jar文件转换为.exe可执行程序方法

最后来到项目的根目录下,找到其中的 out 文件,进去,然后找到 artifacts 文件,进去,最后找到项目名文件,再进去,你就会惊喜的发现里面有一个 .jar 后缀的文件,没错这就是你打包后的文件,待会要用的。

将Java代码打包成jar文件转换为.exe可执行程序方法

拿到打包后的文件后,在桌面或者其他位置新建一个文件夹,为了方便就直接放桌面吧,将打包后的 .jar文件从项目根目录中复制过来然后放进去,对了在这之前你需要安装 jdk 我这是 1.8版本的,这个应该大家都安装了,当然安装步骤也很简单网上很快就能找到,将 jdk安装后路径下的 jre文件整个复制到刚新建的文件中。

接下来我们还需要用到一个工具 exe4j,点击链接可直接转到官网下载即可,安装后可能要注册码,这个网上一大把,当然我肯定不会再让大家去找的啦!直接安排

注册码:A-XVK258563F-1p4lv7mg7sav

至于前面的名字和公司随便填一个即可。

官网下载链接:

ej-technologies – Java APM, Java Profiler, Java Installer Builder

进入软件后因为我们还没有新建项目所以先右下角点一个 下一步,进入以下界面,选择图中第二个,点击 下一步

将Java代码打包成jar文件转换为.exe可执行程序方法

填写能生成的程序名称,以及 选择输出目录,就填刚桌面创建的那个文件夹吧,然后点击 下一步

将Java代码打包成jar文件转换为.exe可执行程序方法

看图自己勾选,这里我就懒得敲了,这里有一个应用图标设置,将要设置的图标放到之前创建的文件夹中,然后在这里点击右边三个点选择图片路径,格式要 .ico的,大小不能超过 256*256,找个图片编辑工具转换以下就可以了,这里我用的是格式工厂转换的,然后点击高级选项选择(省略)图中选项,最后点击 下一步

将Java代码打包成jar文件转换为.exe可执行程序方法

看见图中这么多箭头了吗,一个个去点,先点右边 +,就会来到右边图片中选择之前生成的 .jar 包所在路径,也就是我们之前放在了创建的那个文件夹中,点击确认,然后找到下边箭头选择有个 Class path的,点击右边三个点选择 main方法入口,他会自动扫描包中的 main方法,你直接选中就好了,最后点击 下一步

将Java代码打包成jar文件转换为.exe可执行程序方法

中间还会再点一个 下一步,没出现的都直接下一步,下面是填写最低和最高版本,照着图中填即可,还有勾选那个 Allow开头的选项,忘记标箭头了,然后点击高级选项看图选择点击进去。

将Java代码打包成jar文件转换为.exe可执行程序方法

点击 + ,选择之前复制到文件夹中的 jdk安装后路径下的 jre 文件,记住是你之前复制到新建文件夹中的那个 jre 文件,然后一直下一步就可以了。

将Java代码打包成jar文件转换为.exe可执行程序方法

最后你可以点击上面的那个箭头直接运行,然后 .exe 程序也自动保存到了你之前的文件夹中,下面那个箭头是保存该项目的打包方法也就是下次如果你要改你的项目重新打包的话就不需要又重新点一次了,直接在 idea中 重新构件 .jar包替换文件夹中那个然后点击保存的方法进入软件点击完成就可以生成个新的 .exe 程序,新的程序会自动覆盖之前的 .exe 程序,前提是你之前的文件夹目录路径不变也就是还在桌面。

将Java代码打包成jar文件转换为.exe可执行程序方法

现在打开你之前创建的文件夹中会有这些文件,那个 1.exe4j 就是我保存的项目打包方法,直接忽略就行。

将Java代码打包成jar文件转换为.exe可执行程序方法

好了到了这里所有的步骤都结束了,不出意外的话你会成功生成 .exe 文件,出了意外的话那就再重新看一遍!!!还有所有的步骤以图片为准,因为有些我可能漏写了不过影响不大,相信这难不倒聪明的你们。

Original: https://www.cnblogs.com/wren/p/16710691.html
Author: 请叫我阿杰
Title: 将Java代码打包成jar文件转换为.exe可执行程序方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/573984/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 用动态端口,增强winrm,open sshd的,服务器安全

    前言 我开发了一套开源,免费,跨平台的devops脚本批量运维工具。【kaiiit家的饭店】是软件的正式名字。【卡死你3000】是第一版开发代号。 想要增强win被控机密码安全。可…

    Linux 2023年6月14日
    085
  • 调度器简介

    内核中用来安排进程执行的模块称为调度器(scheduler),它可以切换进程状态(process state)。例如执行、可中断睡眠、不可中断睡眠、退出、暂停等。 调度器是CPU中…

    Linux 2023年6月7日
    078
  • Redis相关监控命令

    1、查询Redis并发量,连续统计模式redis-cli –stat 2、redis最大连接数config get maxclients 3、redis当前连接数、阻塞…

    Linux 2023年5月28日
    089
  • SLF4J 日志门面

    SLF4J( Simple Logging Facade For Java),即 简单日志门面。主要是为了给 Java 日志访问提供一套标准、规范的 API 框架,其主要意义在于提…

    Linux 2023年6月8日
    097
  • Java Web登录界面

    非常激动的开通了我的第一个博客,在这里希望大家能多多指点,相互学习。 一个简单的登录界面 首先我们先把这个登录分为三块: 一、数据库 数据库我用的是MYSQL; 二、前端 三、后台…

    Linux 2023年6月13日
    0114
  • angular报错:Cannot assign to a reference or variable

    错误代码: <input #manufacturerId="ngModel" id="manufacturerId" name=&qu…

    Linux 2023年6月7日
    0102
  • Java基础封装类型的缓存

    Java笔试常见题型 类型 缓存范围 Byte -128-127 Short -128-127 Integer -128-127 Long -128-127 Character 0…

    Linux 2023年6月7日
    0112
  • 干货速看!同行盆友来稿:一文带你搭建K8S高可用集群,以及在上面搭建Prometheus和Grafana。

    写在开篇 kubeadm工具快速部署k8s集群实现故障自动发现、转移及修复,集群中部署prometheus+grafan可实现自动收集集群的各项新性能指标数据,可视化界面提升客户对…

    Linux 2023年6月7日
    097
  • LVS负载均衡

    LVS负载均衡 LVS负载均衡 一、LVS是什么 二、LVS的作用 三、lvs的三种工作模式 1.基于NAT的LVS模式负载均衡 2.基于TUN模式的LVS负载均衡 3.LVS(D…

    Linux 2023年6月6日
    096
  • [ Skill ] 文件读写 & IO 句柄

    在 Skill 中使用一种叫做 ioport 类型的变量来操作文件。不过我一般更习惯称为 IO 句柄 (IO/File Handle)。 常用下面两个函数来获得这些 IO 句柄: …

    Linux 2023年6月7日
    0100
  • 安装了nodejs,但是npm命令没反应(因环境变量导致的问题)

    解决方法:在环境变量-系统变量的Path里添加nodejs的安装路径地址,默认为”C:\Program Files\nodejs”。 Original: h…

    Linux 2023年6月7日
    0106
  • X86 assembly guide

    This guide describes the basics of 32-bit x86 assembly language programming, covering a sm…

    Linux 2023年6月7日
    0142
  • Kafka 配置文件详情

    kafka的配置分为 broker、producter、consumer三个不同的配置 一 、BROKER 的全局配置 最为核心的三个配置 broker.id、log.dir、zo…

    Linux 2023年6月8日
    091
  • vue-admin-template组件前端,登录验证成功后,getInfo方法不调用

    先查看request.js中自定义状态码是否为自己的定义的成功状态码 这里的状态码该为自己的成功状态码 Original: https://www.cnblogs.com/antl…

    Linux 2023年6月7日
    0110
  • 计算机网络通信

    早期:联机 以太网:局域网与交换机 广播 主机之间”一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息…

    Linux 2023年6月14日
    099
  • short, int, long, long long各个类型的范围

    类型名称 字节数 取值范围 signed char 1 -2^7 ~ 2^7-1 -128~+127 short int 2 -2^14 ~ 2^14-1 -32768~+3276…

    Linux 2023年6月8日
    087
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球