This app was created with Bootify.io - tips on working with the code can be found here.
When starting the application docker compose up
is called and the app will connect to the contained services.
Docker must be available on the current system.
During development it is recommended to use the profile local
. In IntelliJ -Dspring.profiles.active=local
can be
added in the VM options of the Run Configuration after enabling this property in "Modify options". Create your own
application-local.yml
file to override settings for development.
Lombok must be supported by your IDE. For IntelliJ install the Lombok plugin and enable annotation processing - learn more.
In addition to the Spring Boot application, the DevServer must also be started - for this Node.js version 20 is required. On first usage and after updates the dependencies have to be installed:
npm install
The DevServer can be started as follows:
npm run devserver
Using a proxy the whole application is now accessible under localhost:8081
. All changes to the templates and JS/CSS
files are immediately visible in the browser.
The application can be built using the following command:
mvnw clean package
Node.js is automatically downloaded using the frontend-maven-plugin
and the final JS/CSS files are integrated into the jar.
Start your application with the following command - here with the profile production
:
java -Dspring.profiles.active=production -jar ./target/my-app-0.0.1-SNAPSHOT.jar
If required, a Docker image can be created with the Spring Boot plugin. Add SPRING_PROFILES_ACTIVE=production
as
environment variable when running the container.
mvnw spring-boot:build-image -Dspring-boot.build-image.imageName=io.starkindustries/my-app