exe4j打包exe_JDK11及以后版本在Win下的打包发布方法

2023-11-19

概述

我在准备使用高版本jdk后,遇到的最麻烦的问题就是打包发布了,主要原因还是jdk的模块化带来的,在经历了长时间折腾后,终于成功完成了这个,当然,只是针对window下的。

想要使用高版本jdk打包发布Windows应用,需要准备:

  1. exe4j,新版本的那种
  2. maven,idea自带的就行

插件

maven需要这些才能正确编译:

添加properties节点:

<properties>
    

添加插件节点:

<plugin>
   

通过这个插件复制依赖包:

<plugin>
     

通过jlink和idea的maven插件构建JRE:

看到里面java自带的模块了吗,不是通过maven依赖的那些,只把自带的模块和需要的javafx模块通过jlink连接得到一个jre。

jlink --module-path "D:javafx-jmods-13.0.1" --add-modules java.base,java.naming,java.scripting,javafx.fxml,javafx.controls,javafx.base,javafx.graphics,jdk.jfr,java.datatransfer,java.prefs,java.xml,java.sql,java.transaction.xa,java.desktop,jdk.unsupported,java.instrument --output SimpleRT

就像这条命令一样,只需要带上java/javafx的自己的module就好,这样我们就得到了一个jre。

接着就可以对工程进行maven package了,这之后可以得到一个打包好的jar和一个lib文件夹,里面是依赖包。把jar和依赖包放在一起,就是把jar也扔到lib里面。

如果lib里面有javafx的包,需要删掉他们。

使用刚刚的jre,那里面有bin文件夹,找到java,然后执行:

[jre的java.exe路径] -p [lib文件夹的路径] -m [模块名]/[main类的全限定名]

没有意外的话,那么这个时候应用就运行起来了。

打包为EXE

这个没有什么特别的了,lib文件夹配置在module-path里面,从modulepath选择main类,然后生成exe即可,原来exe4j怎么用现在基本还是怎么用,这个软件要用高版本,不然不支持jpms,也就是java模块化系统。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

exe4j打包exe_JDK11及以后版本在Win下的打包发布方法 的相关文章

  • Unity—UGUI

    每日一句 读数 学习 去更远的地方 才能摆脱那些你不屑一顾的圈子 目录 InputFiled输入框 例 用户名和密码 Toggle组件 案例 冷却效果 InputFiled输入框 Text Component 输入文本组件 Text输入内容
  • 菜鸟学python之计算第10次球体反弹高度

    题目 一球从100米高度自由落下 每次落地后反跳回原高度的一半 再落下 求它在第10次落地时 共经过多少米 第10次反弹多高 n 0 落地次数 high 0 反弹高度 hight 100 落地前n次高度 tour 0 经过的路程 for i
  • python string前加b的原因

    From https stackoverflow com questions 6269765 what does the b character do in front of a string literal they produce an
  • python 下载及安装-CentOS下python的下载及安装

    针对 CentOS下python的下载及安装 的问题 下面由IT产品经理 陆亦晓为您解答 Python这门编程语言在数据分析 数据发掘以及服务端开发等方面都有非常好的使用 我们之前介绍过Windows环境下python开发工具的安装 今天为
  • HTML 表格td中无内容时不显示边框的解决办法

    有时我们想实现不输入内容展示时 会不显示边框 解决方法 1 在单元格中加入一个空格 这样 td nbsp td 2 直接在table里这样写 table border 0 cellspacing 0 table
  • BUG处理流程图

    流程描述 1 测试人员发现bug提交给开发 2 开发人员判断是否是bug 3 如果是bug 进行修改 修改完成后更改bug状态为已解决 4 如果不是bug 退回给测试人员并描述退回原因 或为设计如此 或为外部原因 或者不能重现 5 开发人员
  • 【Linux】自动化构建工具:make/Makefile

    内容专栏 Linux操作系统基础 本文概括 工具使用的背景 理解make makefile工具 探索工作原理 文件修改时间的对比 PHONY伪目标 特性等 本文作者 阿四啊 发布时间 2023 9 14 背景 make 和 Makefile
  • C4D和3dmax有什么区别?

    很多小伙伴都知道3d Max和C4D都是一款三维制作软件 可是 很少见到游戏公司使用C4D软件制作模型呢 反而设计师们用的最多的就是3dmax 而C4D往往用于广告行业 那么C4D和3d max的区别是什么呢 一 性质不同 1 3Dmax
  • 2-4、React+antd页面UI美化——登录界面设计

    React Antd 实现组件的UI美化示例 目标UI 创建一个页面page 用于用户登录 要求页面简洁 美观 易懂 要求有背景 要求引入antd登录表单组件 要求有登录样式 基于antd的表单对页面完成简单的渲染 图示 UI拆解 背景渲染
  • linux spring mvc tomcat配置,Spring MVC配置详解

    一 Spring MVC处理流程 1 Spring MVC将所有请求都交由DispatchServlet进行处理 2 DispatchServlet获取HandlerMapping 处理映射器 然后找到对应的HandlerBean处理Con
  • python列表增加元素的三种方法

    本文主要介绍了关于python列表增加元素的几种操作方法 主要有insert方法 extend方法和append方法 每种方法给大家介绍的非常详细 希望对你有所帮助 1 insert方法 该方法包含两个参数 第一个参数为插入的位置参数 第二
  • 解决Eclipse没有serve及无tomcat9.0

    网上一般提供的 Kepler repository http download eclipse org releases kepler 版本老 在Eclipse help install new 直接输入版本时间 出现如下 我的版本是201
  • 区块链java的demo_区块链-java入门Demo-Go语言中文社区

    正在创建第一个区块链 创建区块 00000d3c0681cd67f8050ab996e1400f99c0060ba4cb22d0c07685d9ae50cd10 正在创建第二个区块链 创建区块 00000eafdd53bed5586d480
  • 使用h5标签需要兼容,不使用没有标签进行语义化,如何取舍?兼容IE6,7,8,canvas,video

    HTML5已向开发人员提供了很多新的标签 如section nav article header和footer等 这些标签语义化程度高 会被经常使用 但在IE6 IE7 IE8和Firefox 2等老式浏览器中却不能识别和正常使用 很多浏览
  • 记录问题: HTTPSConnectionPool(host=‘files.pythonhosted.org‘, port=443): Read timed out.

    python报错 HTTPSConnectionPool host files pythonhosted org port 443 Read timed out 这个问题目前遇到都是因为网速引起的 解决办法是 使用命令 pip instal
  • 国际快递查询代码,网站的online track

    今天高兴了一把 只花了一小片的功夫 解决了一个大问题 哈哈 使用以下代码 就可以使用17track网站来查询国际单号 跟踪快递 航空包裹 不同的是 我可以随意更改自己想要的 比如按钮值 页面样式 增加一些效果等 以下是 文本域可以清空的效果
  • python一维数组变三维数组_python numpy 一维数组转变为多维数组的实例

    python numpy 一维数组转变为多维数组的实例 如下所示 import numpy new list i for i in range 9 numpy array new list reshape 3 3 借助numpy库 以上这篇
  • 服务器上安装anaconda

    1 下载anaconda 这里有两种方法 第一种在官网上下载对应版本的安装包 地址 https www anaconda com products individual 再将安装包上传到服务器 之后输入命令 完成安装 第二种方法 在控制台上
  • Generative AI 新世界

    在上一篇 Generative AI 新世界 大型语言模型 LLMs 概述 中 我们一起探讨了大型语言模型的发展历史 语料来源 数据预处理流程策略 训练使用的网络架构 最新研究方向分析 Amazon Titan LLaMA PaLM E 等

随机推荐

  • android的webView的教程,Android WebView 应用界面开发教程

    WebView组件本身就是一个浏览器实现 Android5 0增强的WebView基于Chromium M37 直接支持WebRTC WebAudio WebGL 开发者可以直接在WebView中使用聚合 Polymer 和Material
  • Python 查找文件夹下某一类型的文件

    查找文件夹下面的某一类型的文件 并输出列表 import os 例如txt格式 def get files list directory file type txt file list for f root f dirs f files i
  • Springboot使用slf4j记录日志

    前言 在项目开发中 记录日志是必做的一件事情 而当我们使用Springboot框架时 记录日志就变得极其简单了 springboot内置了slf4j日志框架 我们只需要添加依赖 做一些简单的配置就ok了 下面 我们就来看看在Springbo
  • python圆的代码:如何使用Python绘制一个圆形

    Python圆的代码可以使用matplotlib库中的Circle函数来实现 Circle函数接受两个参数 一个是圆心的坐标 x y 另一个是圆的半径r 下面是一个简单的Python代码示例 Python圆的代码可以使用matplotlib
  • Matlab连接字符串的方法

    Matlab连接字符串的方法 2011 04 20 13 22 42 转载 标签 杂谈 分类 matlab 在Matlab中 想要将两个字符串连接在一起 有以下的方法 假定有两个字符串 gt gt str1 Iloveyou str2 12
  • 【SQL注入-15】自动化注入案例—以sqli-labs-less9为例(利用sqlmap工具)

    目录 1 前言 2 自动化注入案例 以sqli labs less9为例 2 1 实验平台 2 2 注入前准备 2 3 判断注入点及注入类型 2 3 1 自动判断注入点及注入类型 2 3 2 手动判断注入点及注入点类型 2 4 爆库名 2
  • 云函数部署之网易云

    云函数部署之网易云 云函数 什么是云函数 就是可以让你没有服务器 本地电脑不用下载Python也可以使用这个项目 而且还是白嫖 既解决了很多人部署的麻烦 也给了那些被劝退的朋友回来的勇气 十分钟便可以全部弄完 1 进入云函数 这里拿腾讯云的
  • caffe im2col 详解

    caffe im2col详解 本文讲解的是caffe中卷积过程 众所周知caffe中卷积采用的是im2col和sgemm的方式 网上已经有很多的im2col的讲解 原本不打算写这篇文章 在此不得不吐槽下 网上有不少的讲解caffe im2c
  • redis缓存雪崩、穿透、击穿

    这篇文章我们来了解一下一些redis的高并发问题以及他的解决方法 上图是一个简单的数据查询流程 前台请求 后台先从缓存中取数据 取到直接返回结果 取不到时从数据库中取 数据库取到更新缓存 并返回结果 数据库也没取到 那直接返回空结果 一 r
  • CentOs8 安装 Mysql 8 步骤及问题解决

    1 Mysql数据库采用的版本是Mysql8 在Mysql官方网站 MySQL 下载Mysql安装包 2 安装新版mysql之前 我们需要将系统自带的mariadb lib卸载 执行命令 rpm qa grep mariadb 若检查出系统
  • sql数据库查询

    sql数据库查询要点 查询 在GROUP BY 的后面使用 HAVING指定筛选条件 select from 表 group by 分组条件 having 筛选条件 内连接INNER JOIN 只返回符合条件的值 SELECT FROM t
  • IntelliJ IDEA中如何使用JUnit4

    背景 最近参与了一个Anroid医疗项目 其中项目底层有很多基础类及通讯类 而且很多涉及复杂的字节操作还有多线程同步及状态机处理 这样的项目做一下TDD还是必要的 尽量项目前期把风险降低一些 现在的问题是本人使用的是IntelliJ开发的A
  • 【JavaScript 逆向】猿人学 web 第十八题:jsvmp,洞察先机

    案例目标 网址 第十八题 jsvmp 洞察先机 猿人学 本题目标 抓取 5 页数字 计算加和并提交结果 常规 JavaScript 逆向思路 一般情况下 JavaScript 逆向分为三步 寻找入口 逆向在大部分情况下就是找一些加密参数到底
  • 2019 icpc西安邀请赛 点分治

    https nanti jisuanke com t 39277 求 sum 异或和为0的路径 被其他路径包含的次数 如果只是求异或和为0的路径数量 其实是裸点分治 但是加上要求之后 就会复杂一些 进行分类讨论 再特殊处理根节点就行 由于信
  • Unraid使用记录:使用Docker与虚拟机

    文章目录 前言 使用Docker 使用示例 相关说明 使用虚拟机 使用示例 相关说明 硬件直通 后记 前言 Unraid本身功能挺少的 很多功能都是要通过插件 Docker和虚拟机来实现的 Docker可以简单的实现各种丰富的功能 而虚拟机
  • 群晖DS Video(Station)自动同步视频简介和海报(最新官方解决方案)

    目录 一 前言 二 前提 三 实现 1 注册The Movie Database账号 2 创建API 3 修改群辉Hosts A 在群辉中开启SSH的访问 B 然后通过ssh命令登录到群辉后台 C 通过sudo i指令切换到root用户指令
  • python的循环控制结构_Python的控制结构之For、While、If循环问题

    传统Python语言的主要控制结构是for循环 然而 需要注意的是for循环在Pandas中不常用 因此Python中for循环的有效执行并不适用于Pandas模式 一些常见控制结构如下 for循环 while循环 if else语句 tr
  • 【建议收藏!】APP UI自动化测试,思路全总结在这里了。

    首先想要说明一下 APP自动化测试可能很多公司不用 但也是大部分自动化测试工程师 高级测试工程师岗位招聘信息上要求的 所以为了更好的待遇 我们还是需要花时间去掌握的 毕竟谁也不会跟钱过不去 接下来 一起总结一下APP UI自动化测试的思路吧
  • 再论人与人的三大关系:生存关系、性关系和经济关系

    黄仁宇在 关系 一文中认为 人类的各种关系之中 以生存的关系 性关系和经济关系最为重要 理想上的工作协作和团队精神 已经不存在 俺做过的几个规模在50人以下的 这说明两个问题 1 小公司的目的不是发展而是不死 然后赚钱 也就是这是一笔买卖而
  • exe4j打包exe_JDK11及以后版本在Win下的打包发布方法

    概述 我在准备使用高版本jdk后 遇到的最麻烦的问题就是打包发布了 主要原因还是jdk的模块化带来的 在经历了长时间折腾后 终于成功完成了这个 当然 只是针对window下的 想要使用高版本jdk打包发布Windows应用 需要准备 exe