Hands-On Microservices with Kotlin
上QQ阅读APP看书,第一时间看更新

Introduction to Maven goals

Maven supports the concept of plugins, a plugin will be attached to a certain phase using a goal, and when that phase is executed the goal is run, if the goal fails the phase fails.

For example, in a Kotlin project a Kotlin plugin will set a goal named compile that is attached to the compile phase, so when we run the compile phase, it will compile the Kotlin source code.

We could run a goal from a plugin directly using the format mvn plugin:goal, for example in our application we could do the following:

mvnw kotlin:compile

This will compile our Kotlin code, however if other plugins have attached goals to the compile phase they will not run since we are not executing the phase, just a goal.

Spring Boot provides a plugin to run the application using Maven, which is under the spring-boot plugin and the goal name is run, so we could do the following:

mvnw spring-boot:run

After some seconds, our application will run and we should see this message, among others:

Tomcat started on port(s): 8080 (http)
Started Chapter2ApplicationKt in 1.999 seconds (JVM running for 6.747)

Currently, if we navigate to http://localhost:8080, we can see only an error page as we haven't added anything to our microservice yet. We can stop our application at any time by pressing Ctrl + C, but first, we need to understand further what pom.xml is.