将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/616912/

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

(0)

大家都在看

  • Spring boot——JMX 监控

    spring.jmx.enabled=true 在命令行中执行 jconsole命令启动”Java管理和监视控制台”,然后选择org.springframe…

    Java 2023年5月30日
    078
  • 动态调整日志级别思路&实现

    引言 上篇文章 性能调优——小小的 log 大大的坑 已将详细的介绍了高并发下,不正确的使用日志姿势,可能会导致服务性能急剧下降问题。文末也给各位留下了解决方案——日志级别动态调整…

    Java 2023年6月15日
    0106
  • Redis的缓存穿透+解决方案

    1.缓存穿透现象介绍 缓存穿透 :缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。 常见的解决方案有两种: 缓存空对象 优点:…

    Java 2023年6月9日
    076
  • 解决eclipse中的Java文件,使用idea打开的乱码问题

    转码前: 转码后: 核心方法: new String(content, "GBK").getBytes("utf-8")); 吐槽: 在克隆…

    Java 2023年6月6日
    081
  • Yapi安装配置(CentOs)

    环境要求 nodejs(7.6+)mongodb(2.6+)git 准备工作 清除yum命令缓存 sudo yum clean all 卸载低版本nodejs yum remove…

    Java 2023年6月15日
    055
  • 好玩Python——PIL项目实训(三)——gif

    1 # -*- coding: utf-8 -*- 2 """ 3 Created on Tue Apr 14 01:55:48 2020 4 5 @…

    Java 2023年6月6日
    077
  • 万字+28张图带你探秘小而美的规则引擎框架LiteFlow

    大家好,今天给大家介绍一款轻量、快速、稳定可编排的组件式规则引擎框架LiteFlow。 一、LiteFlow的介绍 LiteFlow官方网站和代码仓库地址 在每个公司的系统中,总有…

    Java 2023年6月16日
    078
  • Spring核心原理之IoC容器初体验(2)

    本文节选自《Spring 5核心原理》 1 IoC与DI基本概念 IoC(Inversion of Control,控制反转)就是把原来代码里需要实现的对象创建、依赖,反转给容器来…

    Java 2023年6月7日
    069
  • SpringBoot之Mybatis开启SQL记录和Pagehelper

    配置mybatis mybatis: #mapper路径 mapper-locations: classpath:mapper/*.xml configuration:  #日志输…

    Java 2023年6月16日
    068
  • 简单易懂讲IO

    流式 IO 是传统 IO,通过构造输入输出流,讲信息从一个地方读取,输出到另一个地方。常见的有读取文件以及写入文件。 基本 API 流失 IO 基本可以分为两个门派,一个以 Inp…

    Java 2023年6月8日
    0115
  • Vue学习之——–深入理解Vuex之模块化编码(2022/9/4)

    在以下文章的基础上1、深入理解Vuex、原理详解、实战应用:https://blog.csdn.net/weixin_43304253/article/details/126651…

    Java 2023年6月14日
    081
  • JAVA正则表达式判断元音

    /* 判断字符串”qaq”中间的字符是否是元音* aeiou* AEIOU**/ (1)正则表达式 (2) (3) Original: https://ww…

    Java 2023年6月5日
    078
  • Java偏向锁浅析

    顾名思义,偏向锁会偏向第一个访问锁的线程。 如果在接下来的运行过程中,该锁没有被其他线程访问,这持有偏向锁的线程将永远不需要同步 如果在运行过程中,遇到了其他线程抢占锁,则持有偏向…

    Java 2023年6月13日
    062
  • Mybatis框架入门

    首先,先说一下写这个入门程序的需求与开发步骤: 那前三步就不说了有一些基础就可以办到 在写配置文件的时候,主要编写两种配置文件,第一种为主配置文件,管理其他和接口对应的配置文件。 …

    Java 2023年6月9日
    063
  • Nginx总结(十)实现Nginx负载均衡高可用

    之前讲了Nginx 如何实现负载均衡,以及如何实现动静分离。但是还确少Nginx 高可用的部分。因为Nginx 处于整个系统非常重要的位置,Nginx的高可用影响到整个系统的稳定性…

    Java 2023年5月30日
    072
  • 并发编程之:Atomic

    大家好,我是小黑,一个在互联网苟且偷生的农民工。 在开始讲今天的内容之前,先问一个问题,使用int类型做加减操作是不是线程安全的呢?比如 i++ ,++i,i=i+1这样的操作在并…

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