【问题现象】

在使用maven构建springboot或springcloud项目中,运行Maven-“Reload Project”,提示如下错误:


java.lang.RuntimeException: java.lang.RuntimeException: org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method 'void <init>()' not found
  at org.jetbrains.idea.maven.server.embedder.CustomModelValidator.<init>(Unknown Source)
  while locating org.jetbrains.idea.maven.server.embedder.CustomModelValidator
  at ClassRealm[maven.ext, parent: ClassRealm[plexus.core, parent: null]] (via modules: org.eclipse.sisu.wire.WireModule -> org.eclipse.sisu.plexus.PlexusBindingModule)
  while locating org.apache.maven.model.validation.ModelValidator annotated with @com.google.inject.name.Named(value="ide")

在这里插入图片描述

【原因】

Maven的版本和IDEA的版本不兼容导致。

【解决】

需要使用相匹配的Maven版本和IDEA版本,介于无论重装Maven还是IDEA成本都很高,我们在IDEA中使用自带的Maven即可。

在IDEA中打开“Preferences”,找到“Maven”菜单,在“Maven home directory”中,选择IDEA自带的Maven3(自带Maven的版本肯定是兼容的),如图:
在这里插入图片描述
选择后,重新执行Maven-“Reload Project”等待成功即可

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐