记录一个Maven项目很奇葩的问题

记录一个Maven项目很奇葩的问题


问题描述:大家都知道maven可以设置本地仓库的吧,问题就在这里,如果不设置默认是当前用户下的.m2/repository,当我修改了本地仓库以后,通过Eclipse关联上设置文件,也成功显示修改过后的本地仓库。但是,项目上报了很奇怪的一个错,如图:
记录一个Maven项目很奇葩的问题
首先是pom.xml文件报错,很莫名其妙,自己找了很久,也百度了很久依旧没有结果。然后是java文件有些错误,如下:
记录一个Maven项目很奇葩的问题
鼠标放上去提示:javax.validation.Payload 无法解决。必要的.class文件被间接引用。我去查了一下这个问题也没有得到解决。

这个demo是想使用 Hibernate Validator 进行验证,加入了hibernate-validator依赖后,@Length注解可以使用,但使用后报上图的错,@Valid注解完全不能使用。

去网上查过以后,据说还要配合jboss-logging和validation-api使用。我加入这两个依赖后能够完美解决报错问题,但是启动提示还需要配置validation的相关bean。而老师给的项目却只需要一个hibernate-validator依赖就能完美使用。

我尝试了各种方法,重新导入项目,重启eclipse,更新项目,删除jar包重新下载,将本地仓库的位置进行改变,甚至将整个仓库删了重新自动下载。都是一样的结果。

最后解决的方式很奇葩,我抱着试一试的方式直接使用了默认的本地仓库后,重新启动eclipse,一切的问题都解决了。我来回试了两三次,结果都是一样。

有遇到这个问题的朋友可以试试这个方法,如果有其他的解决方法,可以留言一起探讨一下。主要是真的太奇葩了这个问题,完全颠覆了我的理解,所以在这里记录一下。