Как с помощью kotlin сделать cli?

Пользователь

от roxanne.hauck , в категории: Другие , 8 месяцев назад

Как с помощью kotlin сделать cli?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от catherine_wintheiser , 7 месяцев назад

@roxanne.hauck 

Для создания CLI на Kotlin можно использовать библиотеку picocli, которая предоставляет простой способ создания интерфейса командной строки.


Ниже приведен пример простого приложения, которое принимает аргументы командной строки и выводит сообщение на экран:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import picocli.CommandLine

@CommandLine.Command(name = "hello", mixinStandardHelpOptions = true, version = ["1.0"])
class HelloWorldCommand : Runnable {
    @CommandLine.Option(names = ["--name"], description = ["Your name"], required = true)
    private var name: String = ""

    override fun run() {
        println("Hello, $name!")
    }
}

fun main(args: Array<String>) {
    CommandLine.run(HelloWorldCommand(), *args)
}


В этом примере мы создаем класс HelloWorldCommand, который реализует интерфейс Runnable. Мы также используем аннотации @CommandLine.Command и @CommandLine.Option для определения имени команды, ее аргументов и других параметров. В методе run() мы просто выводим сообщение на экран.


В функции main мы используем метод CommandLine.run для запуска приложения и передаем экземпляр HelloWorldCommand в качестве команды.


Чтобы скомпилировать и запустить этот пример, нужно сначала добавить библиотеку picocli в зависимости проекта в файле build.gradle:

1
2
3
dependencies {
    implementation 'info.picocli:picocli:4.6.1'
}


После этого нужно скомпилировать и запустить приложение с помощью команды:

1
2
kotlinc hello.kt -cp <path_to_picocli.jar> -include-runtime -d hello.jar
java -jar hello.jar --name "John"


В этом примере мы компилируем код в JAR-файл hello.jar и запускаем его с аргументом --name "John". После запуска мы должны увидеть сообщение "Hello, John!" на экране.