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

概述

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

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

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

插件

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

添加properties节点:

<properties>
    

添加插件节点:

<plugin>
   

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

<plugin>
     

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

f812f6eb3a82d5e49c3606fc15e22b6e.png

a3cd75dbae0b804683319bb39794b349.png

看到里面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模块化系统。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDK 17中,可以使用JavaFX来打包可执行文件(exe)。下面是打包exe的步骤: 1. 配置JDK 17:确保你的系统中已经正确安装了JDK 17,并且配置了系统变量。 2. 配置JavaFX:在JDK 17中,JavaFX已经被移除,需要单独下载并配置。你可以从OpenJFX官方网站下载JavaFX,并将其解压到一个目录中。 3. 配置项目:在你的项目中,确保已经正确配置了JavaFX的依赖项。这可以通过在项目的构建文件(如pom.xml或build.gradle)中添加相应的依赖项来实现。 4. 打包jar文件:使用构建工具(如Maven或Gradle)将你的项目打包成一个可执行的jar文件。你可以使用以下命令来执行打包操作: - Maven:`mvn clean package` - Gradle:`gradle clean build` 5. 打包exe文件:使用第三方工具(如Launch4j或JPackage)将jar文件打包exe文件。这些工具可以将jar文件与Java运行时环境(JRE)捆绑在一起,以便在没有安装JRE的计算机上运行。以下是使用Launch4j和JPackage的示例: - 使用Launch4j: - 下载并安装Launch4j。 - 打开Launch4j,并配置以下参数: - Output file:指定生成exe文件的输出路径和名称。 - Jar:选择你之前打包的jar文件。 - JRE:选择你想要捆绑的JRE版本。 - 保存配置并点击“Build”。 - 使用JPackage: - 打开命令行终端,并导航到你的项目目录。 - 运行以下命令: ```shell jpackage --input <path_to_jar_file> --main-jar <main_class> --output <output_directory> --name <app_name> --win-shortcut --win-menu --win-dir-chooser ``` 其中: - `<path_to_jar_file>`:你之前打包的jar文件的路径。 - `<main_class>`:你的应用程序的主类。 - `<output_directory>`:生成exe文件的输出目录。 - `<app_name>`:生成exe文件的名称。 请注意,以上步骤中的参数和工具选择可能因你的具体需求而有所不同。你可以根据自己的情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值