#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 -include-runtime -d creator.jar
>> java -jar creator.jar
Теперь мой вопрос в том, как включить gson.jar
, чтобы иметь возможность использовать его в приложении?
В настоящее время я получаю ошибки, потому что он не может разрешить Gson()
:
creator.kt:37:16: error: unresolved reference: Gson
val gson = Gson()
Любая помощь приветствуется.
Ответ №1:
Вы, вероятно, используете 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) }
})
}
Затем создайте свой проект, и в задачах gradle вы должны найти Задачи-> сборка-> jar, щелкнуть по нему и все. У вас есть файл jar в папке проекта, build-> библиотеки->project.jar .
Теперь вы можете запустить свой jar-файл как java jar-файл с помощью следующей команды:
java -jar your_project_package.jar
Я надеюсь, что это полезно для вас