While it is true that "independence" is an important value in a microservice landscape, this does not mean rampant code duplication is preferred. Choose the lesser of two evils and create a parent project which contains only a pom file (no java code) and let all microservices use this pom as its parent pom. In this parent pom file you can declare all versions of all dependencies using the <dependencyManagement>
tag and all versions of the plugins using the <pluginManagement>
tag. These tags don't actually add any dependencies or plugins to your actual project, it just declares the versions to use if the project were too actually depend on them.
If you are using the spring-boot-starter pom as your parent already, this can work transitively: your microservices have your parent pom, and your parent pom has the spring boot starter pom as its own parent.
If at some point in the future one microservice needs to diverge from this parent pom for one or more particular dependencies, you can declare new version in that project's pom and those values will be used instead, effectively overwriting what is declared in the parent pom(s), so you don't lose this flexibility.
However, we've been working with the spring boot microservices for two years now and keeping the landscape consistent and easy to upgrade simultaneously has proven to be more valuable to us than having independence.