Maven Resource Filtering with Spring Boot: Could not resolve placeholder

Kind of new to Java and Maven, but I trying to get Maven to handle the database connection properties so I can have the maven build change them between dev/stage/prod environments and I am running into issues with filtering and resources. Not sure what I am doing wrong here either.

First of all, you don't need to use a profile. The resources db.properties is a test resource so it should be located under src/test/resources and not under src/main/resources. Using profiles will complicate your build, you should only resort to them as a last condition.

The reason you're having this problem is that Spring Boot redefines the token filter to be @ instead of the default ${*}. From the docs:

If you are inheriting from the spring-boot-starter-parent POM, the default filter token of the maven-resources-plugins has been changed from ${*} to @ (i.e. @maven.token@ instead of ${maven.token}) to prevent conflicts with Spring-style placeholders. If you have enabled maven filtering for the application.properties directly, you may want to also change the default filter token to use other delimiters.