如何分发 Kotlin CLI 应用程序?
How to distribute a Kotlin CLI application?
我用 Kotlin 构建了一个小机器人。
它已完成,我可以从我的开发者工具中 运行 它。我正在使用 application
插件尝试分发,但我一直失败。
./gradlew run
运行 机器人符合预期。
我一直在寻找类似 ./gradlew installDist
的东西,然后只是 运行ning installationDir/bin/App
(类似于 Ktor 应用程序)和 运行ning 应用程序。但是当我应该看到很多日志输出时,它只是成功退出而没有输出。
我做错了什么?
// 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
因此该应用程序将在没有任何输出的情况下退出,因为它不会执行任何操作,因为该文件正在不存在。
我用 Kotlin 构建了一个小机器人。
它已完成,我可以从我的开发者工具中 运行 它。我正在使用 application
插件尝试分发,但我一直失败。
./gradlew run
运行 机器人符合预期。
我一直在寻找类似 ./gradlew installDist
的东西,然后只是 运行ning installationDir/bin/App
(类似于 Ktor 应用程序)和 运行ning 应用程序。但是当我应该看到很多日志输出时,它只是成功退出而没有输出。
我做错了什么?
// 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
因此该应用程序将在没有任何输出的情况下退出,因为它不会执行任何操作,因为该文件正在不存在。