我正在使用spring-boot
,遇到了一个类似于here描述的错误。
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId><!--$NO-MVN-MAN-VER$-->
<version>1.1.0.Final</version>
</dependency>
我通过Spring引导覆盖了父pom.xml中定义的validation-api 1.0.0依赖项,这会给出一条烦人的警告消息:
正在覆盖用于验证api的托管版本1.0.0.GA
如何在Eclipse中永久地隐藏这个警告消息呢?它会同时出现在我的pom.xml和问题视图中。
5条答案
按热度按时间cyvaqqii1#
出现该警告时,您可以打开警告上的"快速修复"菜单(Ctrl +1),然后选择
忽略此警告
这将在版本行上添加注解,例如:
您的问题是您手动将该注解添加到了错误的行。
hvvq6cgz2#
由于项目使用的是
spring-boot
,因此可以在此处找到更正确的答案:https://stackoverflow.com/a/35385268/1568658发布原因:
spring-boot
定义了许多依赖项及其版本,当您使用spring-boot
作为父项时,这些依赖项被继承,并且用不同版本覆盖其中一个依赖项会得到警告,因为它可能会破坏其他库的依赖项。解决方案:
为
<properties></properties>
之间的相依性定义属性,以指定版本。例如,
如何查找属性名称:
pom.xml
。<parent>
标签以打开父级的pom,需要递归单击两次以最终获得artifactId为spring-boot-dependencies
的pom文件。servlet-api
,就可以看到默认版本。有一份来自Spring的文件更好地解释了这一点:https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot
7xzttuei3#
在主pom中输入您需要的版本。
这个警告意味着你试图覆盖在你的主pom中定义的工件版本。只要在主pom中输入你需要的版本,你甚至不需要在其他pom中使用
<version />
来依赖它。sc4hvdpw4#
我的问题是与lombok.jar版本。我有多个lombok版本和eclipse不知何故采取了一个版本,但它检测到更多的版本,所以无法选择它的版本。所以我去了maven文件夹(.m2),并删除了额外的版本的lombok,maven更新项目,错误消失。
但是我还没有提供Lombok版本的任何地方,eclipse选择一个版本,不知道如何。
yeotifhr5#
很有用!我解决了这个问题。因为模块pom文件声明9.2.12.M0,而Spring启动引用V9.3。我覆盖了父pom文件中的V9.2。后面跟着“Eric Wang”