【问题标题】:How to distribute a Kotlin CLI application?如何分发 Kotlin CLI 应用程序?
【发布时间】: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")
}

【问题讨论】:

  • 如果您的项目可以公开获得,您能否分享一个链接?

标签: java kotlin command-line-interface ktor


【解决方案1】:
  • 好消息:我的问题上发布的设置完美无缺。
  • 坏消息:我的代码没有。

我有一个文件在服务器上不存在,并且部分代码返回 null,因此应用程序将退出而没有任何输出,因为由于文件不存在,它不会执行任何操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-13
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多