The maven guide offers two ways configuring Kotlin in a project: for compiling Kotlin-only codebase and for compiling mixed Kotlin-Java codebase where Kotlin code can call Java code and vice versa.
You have quoted the second one, while Ktor quick start suggests the first one, assuming your Ktor based project will start as Kotlin only.
The idea is to disable default compile execution and introduce our own to get control over the order in which goals are executed, so that we could run kotlin compiler before java compiler.
Also is it possible to replace the version string of the plugin with a generic maven property to denote the current version of maven?
I’m not sure which plugin do you mean, but usually each plugin in maven gets its own versioning which isn’t aligned with the versioning of maven itself.