教你用Gradle生成java或者kotlin的可执行程序(Mac/Linux/Win)


都知道用C系写出来的程序可以生成用于直接在win下执行的exe,但是java这种依赖虚拟机的却一般看不到exe,只有jar,我记得以前不懂的时候,只会去网上找exe打包工具,实际上,不用那么麻烦

首先你得有个IDEA的Gradle工程

基本一路next

随便写点内容吧,即便只有main函数,比如:

public static void main(String[] args) {
    System.out.println("我是用来测试的");
}

或者kotlin

fun main(args: Array<String>) {
    println("我只是个测试程序")
}

java必须写在类中,kotlin不必要,知道为啥java需要吗?

因为java认为它是一门纯粹的面向对象的语言,所以它不允许任何代码写在类的外面

添加一些gradle依赖

apply plugin: 'application'
mainClassName="MainKt"

找到gradle配置文件后添加上面两行,mainClassName是程序执行入口,如果程序执行入口在包中需要加入包名

比如:mainClassName="com.lckiss.test.MainKt"

需要注意的是,这里的Main在Kotlin中是【文件名】,并且后面需要加上Kt,而Java的是【类名】

所以这里主程序入口你填的是kt的则用kt内容去生成,是java则用java内容生成

这个蓝色框下的就是你的项目可以用于在其他位置上执行,当然,这是需要jre运行时环境的。

运行

mac、linux上执行需要提升权限

chmod +x test

Win下双击bat即可

注:test下的libs,不可缺。bin中的文件只是代替了你去手动执行java -jar命令,并不是将其完整封装为一个exe入口,如果你寻求直接封装的完整包,可以研究各平台的打包技术。

声明:TIL|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA[ZH]协议进行授权

转载:转载请注明原文链接 - 教你用Gradle生成java或者kotlin的可执行程序(Mac/Linux/Win)


Life is very interesting. In the end, some of your greatest pains become your greatest strengths.