如何分发 Kotlin CLI 应用程序?
Posted
技术标签:
【中文标题】如何分发 Kotlin CLI 应用程序?【英文标题】:How to distribute a Kotlin CLI application? 【发布时间】:2022-01-04 21:06:11 【问题描述】:我在 Kotlin 中构建了一个小型机器人。
它已经完成,我可以从我的开发人员工具中运行它。我正在使用application
插件尝试分发,但一直失败。
./gradlew run
按预期运行机器人。
我一直在寻找类似 @987654323@ 的东西,然后只运行 installationDir/bin/App
(类似于 Ktor 应用程序)并运行该应用程序。但是当我应该看到很多日志输出时,它只是成功退出而没有输出。
我做错了什么?
// gradle.build.kts
import org.jetbrains.kotlin.gradle.plugin.statistics.ReportStatisticsToElasticSearch.url
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins
kotlin("jvm") version "1.5.31"
kotlin("plugin.serialization") version "1.5.31"
application
group = "me.nanospicer"
version = "1.0"
repositories
mavenCentral()
maven
url = uri("https://jitpack.io")
tasks.withType<KotlinCompile>()
kotlinOptions.jvmTarget = "1.8"
application
mainClass.set("MainKt")
val ktor_version="1.6.5"
dependencies
implementation("ch.qos.logback:logback-classic:1.2.7")
implementation("io.ktor:ktor-client-core:$ktor_version")
implementation("io.ktor:ktor-client-cio:$ktor_version")
implementation("io.ktor:ktor-client-serialization:$ktor_version")
implementation("io.ktor:ktor-client-logging:$ktor_version")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.1")
【问题讨论】:
如果您的项目可以公开获得,您能否分享一个链接? 【参考方案1】: 好消息:我的问题上发布的设置完美无缺。 坏消息:我的代码没有。我有一个文件在服务器上不存在,并且部分代码返回 null
,因此应用程序将退出而没有任何输出,因为由于文件不存在,它不会执行任何操作。
【讨论】:
以上是关于如何分发 Kotlin CLI 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
RabbitMQ简单应用の公平分发(fair dipatch)
Kotlin Multiplatform - 错误 ITMS-90171:无效的捆绑包结构