We can easily build spring boot application using mvn spring-boot:run
and run spring boot app via command line . Assuming you have already created a simple spring boot app, here are the next steps you need to follow to run spring boot app .
Add Maven Plugin in Your Spring Boot Project
In order to run your spring boot app , we need to add spring-boot-maven-plugin in your project parent pom.xml.
Open your project pom.xml and add the following line inside it . In most of the cases it will be present already .
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Running Spring boot apps as Jar from Command line
In order to run your spring boot app as jar we need to first build our application . Navigate to your project folder and run the following command to build your app.
mvn clean install
Now that your project is build successfully , navigate to target directory and locate your spring boot app jar . You jar file name would be something like webapp-1.0.0SNAPSHOT.jar
where webapp is the artifactid . Now issue the following command
java -jar webapp-1.0.0.SNAPSHOT.jar
Must Read
- Learn Spring Boot for Beginners Step by Step
- How Authentication Works on Spring Security – An Exhaustive Guide
- Understand Secrets Of Spring Boot Fat Jar File
- Best Ways to Run a Spring Boot App Via Command Line
Running Spring boot based app with profiling enabled
We can also do profiling in our spring boot based app and run the jar in linux . Have a look at How We can enable Profiling in spring boot app.
java -jar -Dspring.profiles.active=dev webapp-1.0.0.SNAPSHOT.jar
We can also set server port in spring boot app from command line using following command
java -jar -Dspring.profiles.active=dev -Dserver.port=9090 webapp-1.0.0.SNAPSHOT.jar
Running Spring boot app via command line using maven
Now , I personally really love this command here , reason is it proved to me as Mr Dependable for me . I was getting a some weired issue like my tomcat used to stop without showing any error . I used to use this command and it used to show me the exact error in debug mode .
I was basically having issue in autowiring and i disabled my debug mode by mistake . I found that this actually runs in debug mode for me .
mvn spring-boot:run
This command line run will also be beneficial when you’re using spring-boot-dev-tool with auto reload/restart when you have changed you application.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
How to Run spring Boot App Using Gradle
If you are using gradle as your build tool to build spring boot app , you can try following code to run spring boot app using gradle
./gradle bootRun
How to provide hot fix in spring boot apps
lets take an example where we want to provide hot-fix in spring boot apps . Let’s say we missed a logic in one of our classes and now we have fixed , but deployment and build takes time .
In those scenarios if you have a spring boot app packaged as jar . We need to follow these steps .
- Extract the Jar using following command
Jar -xvf webapp-1.0.0.SNAPSHOT.jar
2.Once you extract the jar you will find following structure
Now , you can update your hotfix class file directly , most of the compiled classes are present inside BOOT-INF/classess
including your application.properties.
Now you can run following command in spring boot to run this extracted spring boot jar .
java -Dspring.profiles.active=dev -Xdebug -Xnoagent -Djava.compiler=NONE org.springframework.boot.loader.JarLauncher
Notice we mention profiles as well, if you are not sure . Learn how can you profile your spring boot apps.
These were the top best ways you can run spring boot app from command line .
Have a look at other tutorials on Spring :-