文章内容: 一. JAVA | JAVA和Kotlin混开开发的程序打包成jar方法 1.1 方法一 :IDEA中手动打包 1.2 方法二 :build.gradle中配置后编译时打包 二. JAVA
一. JAVA | JAVA和Kotlin混开开发的程序打包成jar方法
1.1 方法一 :IDEA中手动打包
1.2 方法二 :build.gradle中配置后编译时打包
二. JAVA | JAVA和Kotlin混合开发的程序打包成exe的方法
纯JAVA | 纯Kotlin | JAVA和Kotlin混合开发打包其实都一样的,因为jar包中主要还是class文件,而kotlin在编译后生成的也是class文件,因此不影响打包,因此以下打包jar方法适用于上述所有情况
说明:
ALL Moudules
(我就是),也可以选择main
模块,根据需要选择否则在运行jar包时会报找不到主清单文件的错误
点击后会弹出以下窗口: 选择Build即可
最后等它build完即可,就能在项目的out --> artifacts 下看到打包好的jar,并且在 out --> production 下看到resources文件夹
比如我的resources下面存放了image目录图片,那么就能看到
!!!注意:在此处看到resources不代表resources文件夹已经被成功打包进jar包中了
可以使用**jar tf
**来查看jar包的结构已经文件 (需要在jar包的所在目录下才可以)
例如:
这条指令对于测试jar包是否打包成功十分方便
配置和注释如下:(主要参考带有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'] } }}configurations { deployJar deployJar.extendsFrom(implementation)}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包结构的指令使用
因为是利用gradle打包的,因此每次打包完后如果配置发生变动,那么就一定要清除项目clean,再重新build (maven我不清楚),如果不clean的话就会报很多错误(例如找不到什么标识can’t resolve等各种奇怪的报错)
操作如下:
最后等待项目构建完即可。
使用方法: 利用我们上述生成的可以正常执行的jar包,然后这个这个exe4j 工具来打包。 操作很简单,如下:
A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
第三步选中上述生成的jar包 后可以看到一下界面,然后进行第四步
此处显示的内容是exe4j自动在jar包中找到的,加入显示一片空白,那么说明jar包打不成功(有些文件没打进来)
注意:6这里,如果生成的exe放在没有java环境的电脑里面,需要在6这里多使用一个操作
将环境变量JAVA_HOME给删了
等它执行完成后就会自动跳到10
注意:如果此步骤报错那就检查之前的步骤有没有弄对(当然,jar包打包不成功此处也会报错)
生成后的程序:
如果按照上述操作后,还不能打包jar成功或者打包exe成功的读者,可以私信把问题发给我讨论讨论
转发请注明出处,谢谢!
来源地址:https://blog.csdn.net/XJ200012/article/details/131480771
--结束END--
本文标题: 2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本)
本文链接: https://www.lsjlt.com/news/404921.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0