Difference Between mvn spring-boot:run, mvn compile, and mvn install

Command Purpose Output
mvn compile Compiles the source code of your project into .class files and places them in target/classes. Only compiled .class files, not packaged into JAR/WAR.
mvn install Compiles, tests, and packages the application (JAR/WAR) and places it in the local Maven repository. A packaged JAR/WAR file ready for deployment.
mvn spring-boot:run Compiles and runs the application directly from the source code without creating a JAR/WAR file. Runs the application using the compiled classes in target/classes, no packaged output.

Difference dependency and plugin in Maven?

What do id, phase, and goals Mean in Maven Plugins?