Java打包成exe

梔锿-iyutong-雨桐 Lv2

一. 简介

Java 是一种跨平台的编程语言,它可以在不同的操作系统上运行。但是,Java 程序的执行需要依赖于 Java 虚拟机(JVM),而 JVM 是由操作系统提供的。因此,Java 程序的执行需要依赖于操作系统。
模块化打包是 Java 11 引入的一个新特性,它可以将 Java 程序打包成一个可执行的文件,这个文件可以在任何操作系统上运行,而不需要依赖于 JVM。

二. 打包

使用Gradle自动化打包成exe

1.配置Gradle插件

在项目的 build.gradle 文件中添加以下配置:

1
2
3
4
5
6
plugins {
......
id 'application'
id("org.panteleyev.jpackageplugin") version "1.6.1"
......
}

2.配置打包信息

在项目的 build.gradle 文件中添加以下配置:

1
2
3
4
application {
mainModule = 'cn.iyutong.myapp'
mainClass = 'cn.iyutong.myapp.Main'
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
jpackage {
dependsOn("installDist")
appName = 'myapp' // 应用名称
vendor = 'iyutong' // 公司名称
copyright = 'Copyright (c) 2024 iyutong' // 版权信息
description = 'iyutong' // 描述信息
icon = 'src/main/resources/images/icon.ico' // 图标路径
input = "${layout.buildDirectory.asFile.get()}/install/${rootProject.name}/lib"
module = 'cn.iyutong.adobecrack/cn.iyutong.adobecrack.HelloApplication' // 主模块
def libDir = file("${input}")
def modulePathsList = []
if (libDir.exists() && libDir.isDirectory()) {
libDir.traverse(type: groovy.io.FileType.FILES) { file ->
modulePathsList.add(file.absolutePath)
}
}
modulePaths = modulePathsList // 模块路径
destination = layout.buildDirectory.dir("jpackage").get().asFile // 输出目录
delete destination // 删除输出目录
type = ImageType.APP_IMAGE // 打包成绿色版
}

3.打包

在项目的根目录下执行以下命令:

1
./gradlew jpackage

打包完成后,在项目的 build/jpackage 目录下会生成一个绿色版的应用程序。

  • 标题: Java打包成exe
  • 作者: 梔锿-iyutong-雨桐
  • 创建于 : 2025-04-13 11:02:28
  • 更新于 : 2025-04-20 22:11:51
  • 链接: https://www.iyutong.cn/posts/4b11e0b6/
  • 版权声明: 版权所有 © 梔锿-iyutong-雨桐,禁止转载。
评论