Kotlinc包括其他jar文件
我想在MacOS上从命令行运行应用程序。问题是我想在文件中包含Kotlinc包括其他jar文件,kotlin,jar,kotlinc,Kotlin,Jar,Kotlinc,我想在MacOS上从命令行运行应用程序。问题是我想在文件中包含Gson,以便将数据类转换为json对象。(我不熟悉kotlin的命令行) 为了简化,我使用以下方法: fun main() { val item = Building(1, "Name", 4, 2) val jsonBuilding: String = Gson().toJson(item) } 要在命令行中创建/运行我的代码,请使用: >> kotlinc creator.kt
Gson
,以便将数据类转换为json对象。(我不熟悉kotlin的命令行)
为了简化,我使用以下方法:
fun main() {
val item = Building(1, "Name", 4, 2)
val jsonBuilding: String = Gson().toJson(item)
}
要在命令行中创建/运行我的代码,请使用:
>> kotlinc creator.kt -include-runtime -d creator.jar
>> java -jar creator.jar
现在我的问题是如何将gson.jar
包含到应用程序中
目前,我收到错误,因为它无法解析Gson()
:
非常感谢您的帮助。您可能会使用Intellj IDEA。当您制作一个JVM Gradle命令行应用程序时,您应该在build.Gradle.kts文件中添加以下代码
tasks.withType<Jar> {
manifest {
attributes["Main-Class"] = "com.your_project_package.MainKt"
}
// To add all of the dependencies
from(sourceSets.main.get().output)
dependsOn(configurations.runtimeClasspath)
from({
configurations.runtimeClasspath.get().filter { it.name.endsWith("jar") }.map { zipTree(it) }
})
}
我希望这对你有帮助
tasks.withType<Jar> {
manifest {
attributes["Main-Class"] = "com.your_project_package.MainKt"
}
// To add all of the dependencies
from(sourceSets.main.get().output)
dependsOn(configurations.runtimeClasspath)
from({
configurations.runtimeClasspath.get().filter { it.name.endsWith("jar") }.map { zipTree(it) }
})
}
java -jar your_project_package.jar