我想从MacOS上的命令行运行一个应用程序。问题是,我希望在文件中包含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()
creator.kt:37:16: error: unresolved reference: Gson
val gson = Gson()任何帮助都是非常感谢的。
发布于 2020-11-23 22:50:15
您可能会使用Intellj的想法。当您制作一个JVM命令行应用程序时,您应该在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) }
})
}然后构建您的项目,从gradle任务中您应该找到任务-> build ->jar,单击它,就这样了。项目文件夹中有jar文件,build->libs->project.jar。
现在,您可以使用以下命令以java文件的形式运行jar文件:
java -jar your_project_package.jar我希望这对你有帮助
https://stackoverflow.com/questions/64977227
复制相似问题