In 2.7 version the <fork>property was eliminated from <configuration>.
That property forced the app to run in the same process.
Since it was removed, the process is not shutdown properly when running the stop goal (hence, the next time you run the start goal the app can't start since the port is being used).
Is there any replacement for the previous behaviour? It was really necessary.
Comment From: wilkinsona
There is no replacement as we do not believe that it is a good idea for an application to be run in the same process as Maven itself.
If stop does not shutdown your application that would suggest that closing its application context leaves one or more non-daemon threads running. You can check if that's the case by taking a thread dump after stop has been called. If there are non-daemon threads still running, their stacks and names should help to identify the components to which they belong and that have not been stopped.
If the above isn't sufficient to resolve your problem, please follow up on Stack Overflow. Alternatively, if you believe that the unsuccessful stop is caused by a bug in Spring Boot, please provide a minimal, reproducible example and we can re-open this issue and take another look.