2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本)

这篇具有很好参考价值的文章主要介绍了2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章内容:

一. JAVA | JAVA和Kotlin混开开发的程序打包成jar方法
1.1 方法一 :IDEA中手动打包
1.2 方法二 :build.gradle中配置后编译时打包
二. JAVA | JAVA和Kotlin混合开发的程序打包成exe的方法

一. JAVA | JAVA和Kotlin混开开发的程序打包成jar方法

纯JAVA | 纯Kotlin | JAVA和Kotlin混合开发打包其实都一样的,因为jar包中主要还是class文件,而kotlin在编译后生成的也是class文件,因此不影响打包,因此以下打包jar方法适用于上述所有情况

1.1 方法一 :IDEA中手动打包

步骤1:File --> Project Structure

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe

步骤二:

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe

步骤三:按以下操作后点Ok

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
说明:

  1. Module:这里选择要打包的模块,一般用gradle构建的项目可以选择ALL Moudules(我就是),也可以选择main模块,根据需要选择
  2. Main Class: 这里需要选中入口函数(也就是带有main方法的函数)
    2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
  3. JAR Files From librarys:这里选中第一个(extract to the target JAR — 表示把额外用到的jar包都打进我们想要打包的jar包,即打包完之后只有一个jar包) 如果选择第二个(copy to the output directory and link via manifest)则打包后会有多个jar包,如图是选择第二个打包
    2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
  4. Directory for META-INF/MANIFESTMF: 这里不要选择IDEA默认是,而是要自定义(C盘 D盘任意) 否则在运行jar包时会报找不到主清单文件的错误

步骤四:操作完点击apply 再点击ok

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe

步骤五:点击最上面的build --> Build Artifacts

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
点击后会弹出以下窗口: 选择Build即可
2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
最后等它build完即可,就能在项目的out --> artifacts 下看到打包好的jar,并且在 out --> production 下看到resources文件夹
2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
比如我的resources下面存放了image目录图片,那么就能看到
2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
!!!注意:在此处看到resources不代表resources文件夹已经被成功打包进jar包中了
可以使用**jar tf <jar包名称>**来查看jar包的结构已经文件 (需要在jar包的所在目录下才可以)
例如:
2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
这条指令对于测试jar包是否打包成功十分方便

第二种方式:build.gradle中配置,编译时自动打包包

配置和注释如下:(主要参考带有jar注释的地方)

plugins {
    id 'java'
    id 'org.jetbrains.kotlin.jvm' version '1.8.0'
}

group = ''
version = ''

repositories {
    mavenCentral()
}
//设置编译时的编码
tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}
//设置运行时的编码
tasks.withType(JavaExec) {
    jvmArgs('-Dfile.encoding=UTF-8')
}
/**
 * 配置资源文件目录
 */
sourceSets {
    main {
        resources {
            srcDirs = ['src/main/resources']
        }
    }
}
/**
 * TODO 创建一个新的配置,继承至implementation
 * TODO 原因 : 在打包jar时  configurations.implementation.collect { it.isDirectory() ? it : zipTree(it) } 会报错
 */
configurations {
    deployJar
    deployJar.extendsFrom(implementation)
}
/**
 * 打包jar包的配置
 */
jar {
    manifest {
        attributes 'Main-Class' : 'net.LauncherKt' //配置jar包运行时的入口
        attributes 'Custom-Attribute': 'Custom Value' // 解决jar包运行时没有主清单属性
    }
    // 解决jar包运行时没有主清单属性
    from('path/to/custom-manifest.mf')
    // 将所有编译依赖项打包到 JAR 文件中
    from {
        configurations.deployJar.collect { it.isDirectory() ? it : zipTree(it) }
    }

    // 将运行时依赖项打包到 JAR 文件中
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
    // 将资源文件一并打包到jar包中
    from sourceSets.main.resources
    // 设置处理重复文件的策略
    duplicatesStrategy = 'exclude'
}


dependencies {
    implementation fileTree(dir: 'lib', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"

}

只要根据上面一样在IDEA中配置build后,一编译就可以在build --> libs 下看到jar文件了

如何测试打包后的jar包是否没问题,可用指令 java -jar <jar包名> 运行jar包, 也是需要在jar包所在目录下执行指令才可以,具体参考上面的 查看jar包结构的指令使用

注意事项:

因为是利用gradle打包的,因此每次打包完后如果配置发生变动,那么就一定要清除项目clean,再重新build (maven我不清楚),如果不clean的话就会报很多错误(例如找不到什么标识can’t resolve等各种奇怪的报错)
操作如下:

1.点击Gradle

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe

2. 点击项目–> Tasks --> build --> clean

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe

3. clean后,再点击build

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
最后等待项目构建完即可。

二. JAVA | JAVA和Kotlin混合开发的程序打包成exe的方法

这个我们需要借助exe4j这个工具来打包:
官方链接

使用方法: 利用我们上述生成的可以正常执行的jar包,然后这个这个exe4j 工具来打包。 操作很简单,如下:

1. welcome页面 ,此步骤名字和密码随便取,证书随便找一个即可

A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe

2.Choose project type — 此步骤选择 “JAR in EXE” mode

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe

3. Configure application,配置生成的exe文件

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe

4. Configure executable ,跟下图一样配置即可,如果icon不选的话,要把这个“√ ”给弄掉

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe

5. Configure Java invocation – 配置java的执行

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
第三步选中上述生成的jar包 后可以看到一下界面,然后进行第四步
2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
此处显示的内容是exe4j自动在jar包中找到的,加入显示一片空白,那么说明jar包打不成功(有些文件没打进来)

6. Configure JRE, 就是配置程序运行的版本,这个可以结合自己程序所用的配置来配置即可,我的是1.8

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
注意:6这里,如果生成的exe放在没有java环境的电脑里面,需要在6这里多使用一个操作

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
将环境变量JAVA_HOME给删了

7,8直接点下一步即可

9. 在8这里点击下一步的时候就会进入,且还会自动执行

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
等它执行完成后就会自动跳到10
注意:如果此步骤报错那就检查之前的步骤有没有弄对(当然,jar包打包不成功此处也会报错)

10. 在 9 成功后就可以在刚刚配置的exe输出的路径中找到对应的程序了

2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe
生成后的程序:
2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本),随笔,Java基础,java,kotlin,gradle,IDEA打包jar,java程序打包成exe文章来源地址https://www.toymoban.com/news/detail-521767.html

最后: 请注意,如果程序中有使用资源文件resources的时候,那么在打包jar包的时候,需要把resources文件夹加入jar中。 且还要查看是否加入成功。 (可以用指令查看) ,操作请看上文。

如果按照上述操作后,还不能打包jar成功或者打包exe成功的读者,可以私信把问题发给我讨论讨论

转发请注明出处,谢谢!

到了这里,关于2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023 最新版IntelliJ IDEA 2023.1创建Java Web 项目详细步骤(图文详解)

    如果需要学习使用spring-boot3搭建Java Web项目,请移步:2023 最新版IntelliJ IDEA 2023.1创建Java Web前(vue3)后端(spring-boot3)分离 项目详细步骤(图文详解) 安装什么的这里就不说了,都是傻瓜式的安装,但是你需要知道安装的位置,切记!切记! 使用版本:java 20.0.1 2023-04-18 官

    2024年02月05日
    浏览(98)
  • I IntelliJ IDEA 2023.2 最新解锁方式,支持java20

    在 IntelliJ IDEA 2023.1 中,我们根据用户的宝贵反馈对新 UI 做出了大量改进。 我们还实现了性能增强,从而更快导入 Maven,以及在打开项目时更早提供 IDE 功能。 新版本通过后台提交检查提供了简化的提交流程。 IntelliJ IDEA Ultimate 现在支持 Spring Security 匹配器和请求映射的导航

    2024年02月11日
    浏览(40)
  • kotlin入门教程指南(2023最新)

    Kotlin 是一个基于 JVM 的新的编程语言,目前在国外非常火热,并且在一步步走向国内市场 Kotlin有以下好处: 强大的IDE。而且是JetBrains第一方支持,不是3年更新一次的第三方插件; 库多生态强。Kotlin的设计者非常重视和Java的互操作,所以Kotlin号称可以无缝衔接所有Java库。

    2024年02月14日
    浏览(27)
  • 如何在本地搭建Maven环境并整合进IDEA中以及创建web工程?【2023最新版】

    编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 使用Maven之前 : 自行在网络中下载iar包,效率较低 。如在谷歌、百度中搜素相关 jar包资源 使用Maven之后 : 统一在一个地址下载jar包等资源 。如使用阿里云镜像服务器下载等.… 使用Mave

    2024年02月02日
    浏览(53)
  • 在 Android Studio Java 项目里混合 Kotlin 编程

    首先,先搞明白一个概念,这里的 Java 混合 Kotlin 是指文件层级的混合,即 Java 代码还是写在 .java 文件中,Kotlin 代码还是写在 .kt 文件中,只不过是可以在 Java 的代码中可以调用自己写好的 Kotlin 类,从 Java 的角度看,它并不知道它调用的这个类是 Kotlin 写的,这个类和平时遇

    2024年02月08日
    浏览(38)
  • 2023最新 如何修改appstroe的开发者名称?

    1、输入账号密码登录 http://itunesconnect.apple.com 2、点击app 3、点击我的账户account 4、页面往下滑动,点击更新信息 5、点击提供更新信息 6、根据需要修改新的信息 Hello, I want to change the company name in Chinese, according to changed to “xxx”, English name is changeless。 你好,我想更改公司中文

    2024年02月07日
    浏览(32)
  • IDEA搭建Java Web项目及添加Web框架支持和配置Tomcat服务器(2023最新版)

     File — New — Project Java — Project SDK中选择自己的版本(这里采用1.8) —点击Next 此项不选 直接点击Next 设置项目名称之后 点击 Finish 鼠标右键项目名 — Add Frameworks Support   勾选第一项 Web Application — 点击 OK 出现web目录后即为Web框架支持添加成功   点击Add Configruation 点击添加

    2024年02月13日
    浏览(57)
  • 2023 最新版IntelliJ IDEA 2023.1创建Java Web前(vue3)后端(spring-boot3)分离 项目详细步骤(图文详解)

    2023 最新版IntelliJ IDEA 2023.1创建Java Web 项目详细步骤(图文详解) 本篇使用当前Java Web开发主流的spring-boot3框架来创建一个Java前后端分离的项目,前端使用的也是目前前端主流的vue3进行一个简单的项目搭建,让你距离Java全栈开发更近一步 🏴‍☠️。 使用版本: “17.0.1”

    2024年02月12日
    浏览(44)
  • Android 安卓开发语言kotlin与Java该如何选择

            如今在Android开发中,应用层开发语言主要是Java和Kotlin,Kotlin是后来加入的,主导的语言还是Java。kotlin的加入仿佛让会kotlin语言的开发者更屌一些,其实不然。         有人说kotlin的引入是解决开发者复杂的逻辑,并且对空指针控制的比较友好,但是我们在开

    2024年02月11日
    浏览(31)
  • 2023最新盲盒H5商城系统小程序源码+支持抽奖功能/VUE内核开发

      VUE源码/盲盒商城系统/盲盒H5小程序/盲盒抽奖源码,这段时间比较忙,就不做详细测试了,自行研究,这个跟上次发的类似,不过这个是带VUE的版本。 wwxths.lanzouh.com/ir6ZB0kqhwbc

    2024年02月14日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包