Я начал работать с микросервисом Micronaut REST, используя Kotlin и Maven , и мне трудно найти лучший процесс сборки, возможный с этим стеком в Intellij.
Я ожидал, что Kotlin будет легко совместим с Micronaut, но при каждой модификации кода мы должны делать компиляцию проекта (mvn compile) из-за использования плагина KAPT для обработки аннотаций Micronaut с Kotlin, который, кажется, требует много времени.
Этот пост помог мне найти хорошее решение для компиляции Kotlin с Micronaut и Gradle, автоматизировав его в Intellij:
IntelliJ - Gradle - Kotlin - Micronaut - Изменение файлов не создает заново классы при «запуске»
(эквивалентно может быть сделано для Maven с той же соответствующей опцией)
Благодаря CLI Micronaut я сгенерировал три проекта hello-world для сравнения продолжительности сборки. Вот команды для их создания:
mn create-app micronaut-maven-kotlin --build maven --lang kotlin
mn create-app micronaut-maven-java --build maven --lang java
mn create-app micronaut-gradle-kotlin --build gradle --lang kotlin
Я приблизительно измерил продолжительность процесса сборки до того, как Intellij запустит код проекта, вот результаты:
- Java + Maven = нет ожидания
- Котлин + Градл = 2,5 секунды
- Котлин + Мавен = 8 секунд
Запуск приложений занимает 1 секунду. С Java Micronaut быстро работает, но этого аргумента больше не существует, когда я представляю Kotlin в конвейере, и я боюсь делать это с большим проектом ...
Удалось ли кому-нибудь организовать удобный процесс с Micronaut, Kotlin и Maven?