Maven-在Eclipse中禁止覆盖托管版本警告

Maven-在Eclipse中禁止覆盖托管版本警告,eclipse,maven,spring-boot,m2eclipse,Eclipse,Maven,Spring Boot,M2eclipse,我正在使用spring boot,遇到了一个与前面描述的类似的错误。我在pom.xml中添加了以下内容 <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId><!--$NO-MVN-MAN-VER$--> <version>1.1.0.F

我正在使用
spring boot
,遇到了一个与前面描述的类似的错误。我在pom.xml中添加了以下内容

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

javax.validation
验证api
1.1.0.1最终版本
我正在通过Spring boot覆盖父pom.xml中定义的验证api 1.0.0依赖项,这会发出令人讨厌的警告消息:

覆盖验证api的托管版本1.0.0.GA


如何在Eclipse中永久抑制此警告消息?它同时显示在my pom.xml和my problems视图中。

当该警告显示时,您可以打开警告上的快速修复菜单(Ctrl+1)并选择

忽略此警告

这将在版本行中添加注释,如:

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

javax.validation
验证api
1.1.0.1最终版本

您的问题是您在错误的行中手动添加了注释。

在主pom中输入所需的版本


此警告表示您正试图覆盖在主(顶级)pom中定义的工件版本。只需在主pom中输入所需的版本,您甚至不需要在其他pom中使用此依赖项的

由于项目正在使用
spring boot
,因此可以在此处找到更合适的答案:

(因为我得到了同样的问题,而且上面的答案也不是很完整。我想在这里补充一个答案。)

发行原因:

spring-boot
定义了许多依赖项及其版本,当您将
spring-boot
用作父项时,这些依赖项会被继承,用不同的版本覆盖其中一个依赖项会得到警告,因为这可能会破坏其他库的依赖项

解决方案:

之间的依赖项定义属性,以指定版本

e、 g


2.5.0.1构建快照
如何查找属性名称:

  • 在IDEA或Eclipse中打开您的
    pom.xml
  • 按住Ctrl键并单击
    标记以打开父级的pom,并需要递归单击两次,以最终获得带有artifactId的pom文件,该文件名为
    spring boot dependencies
  • 打开pom后,搜索您的依赖项,例如
    servlet api
    ,您可以看到默认版本

spring的一个文档对此做了更好的解释:

有用!我解决了这个问题。由于模块pom文件声明为9.2.12.M0,而弹簧引导参考V9.3。我覆盖了父pom文件中的V9.2。接下来是“Eric Wang”

在给定的家长pom中更新版本。添加评论对我来说很有用。感谢回复。重新更新父pom。。。我没有父pom,它是通过Spring Boot继承的。重新添加也不起作用,但我不知道我是否正确使用了它。如果这确实消除了警告,我还想知道更多关于它的信息。如果您使用的是spring boot,请参阅:这有助于删除eclipse中显示的警告,但我仍然无法构建该项目。获取错误:
规则0:org.commonjava.maven.enforcer.Rule.EnforceManagedDepsRule失败,消息为:以下2个依赖项未使用托管版本
这是解决此问题的错误方法,因为它可能会破坏其他库的依赖项。spring-boot使用默认版本,它可以在pom文件中声明为元素org.springframework.boot-spring-boot-dependencies 1.5.1.RELEASE-pom-import,您应该声明自己的版本以覆盖默认版本。
        <properties>
            <reactor.version>2.5.0.BUILD-SNAPSHOT</reactor.version>
        </properties>