繁体   English   中英

如何分发 Kotlin CLI 应用程序?

[英]How to distribute a Kotlin CLI application?

我在 Kotlin 中构建了一个小型机器人。

它已经完成,我可以从我的开发人员工具中运行它。 我正在使用application插件尝试分发,但一直失败。

./gradlew run按预期运行机器人。

我一直在寻找类似./gradlew installDist的东西,然后只运行installationDir/bin/App (类似于 Ktor 应用程序)并运行该应用程序。 但是当我应该看到很多日志记录 output 时,它只是在没有 output 的情况下成功退出。

我究竟做错了什么?

// 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")
}
  • 好消息:我的问题上发布的设置完美无缺。
  • 坏消息:我的代码没有。

我有一个服务器上不存在的文件,并且部分代码返回null因此应用程序将在没有任何 output 的情况下退出,因为由于文件不存在,它不会做任何事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM