Maven - Suppress Overriding managed version warning in Eclipse

When that warning shows up, you can open the Quick-Fix menu on the warning (Ctrl+1) and select

Ignore this warning

This will add the comment on the version line, like :

<dependency>
   <groupId>javax.validation</groupId>
   <artifactId>validation-api</artifactId>
   <version>1.1.0.Final</version><!--$NO-MVN-MAN-VER$-->
</dependency>

Your problem is you manually added that comment on the wrong line.


Since the project is using spring-boot, a more proper answer could be found here: https://stackoverflow.com/a/35385268/1568658

(And since I got the same issue, and the above answer also is not very complete. I would add an answer here.)

Reason of issue:

spring-boot has defined many dependencies & their versions, when you use spring-boot as parent, these dependencies got inherited, and overriding one of the dependency with a different version would get the warning, because it might break other libraries' dependencies.

Solution:

Define a property for that dependency between <properties></properties>, to specify the version.

e.g

        <properties>
            <reactor.version>2.5.0.BUILD-SNAPSHOT</reactor.version>
        </properties>

How to find the property name:

  • Open your pom.xml in IDEA or Eclipse.
  • Ctrl + Click on the <parent> tag to open pom of parent, and need to click twice recursively to finally get to the pom file with artifactId as spring-boot-dependencies.
  • Once you have opened that pom, search for your dependency, e.g servlet-api, and you can see the default version.

There is a document from spring explains it better: https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot