美文网首页
Kotlin & Java Gradle 打 Jar 包

Kotlin & Java Gradle 打 Jar 包

作者: 星流星 | 来源:发表于2021-03-21 22:28 被阅读0次

使用 Gradle 打包 Kotlin & java 项目

我们在 idea 中使用 gradle 创建出来的 kotlin & java 项目一般是这样的:

Gradle Kotlin项目结构

这里的 main/kotlin 并没有加入打包,所以我们需要通过 sourceSets 将 kotlin 目录下的文件加入编译。

sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
}

下面我们要指定 main 方法所在的 class。

jar {
    manifest {
        attributes 'Main-Class': 'top.mcwebsite.kotlin.demo.Main'
    }
}

这里值得注意的一点是 Kotlin 文件在编译后生成的 Class 文件并不会和原始的 Kotlin 文件的名称相同,一般会添加 Kt 后缀,如果我们的文件名称的首字母是小写的,那么生成后的首字母可能会变为大写。当然我们也可以通过 @file:JvmName("MainCls") 这种方式指定最终生成的 Class 文件的名称。

但是这样打出来的 Jar 包中是没有包含我们添加的依赖的包的。需要我们将这些依赖添加到打入的 jar 包中,如下:

jar {
    manifest {
        attributes 'Main-Class': 'top.mcwebsite.kotlin.demo.MainCls'
    }
    from(configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it)})
}

这里使用了 runtimeClasspath 这样会将我们的运行时所需的 jar 包添加入 Jar 包中。

这里就可以使用 Gradle 的 build 来构建 Jar 包了。

相关文章

网友评论

      本文标题:Kotlin & Java Gradle 打 Jar 包

      本文链接:https://www.haomeiwen.com/subject/cdfacltx.html