Mavenorg.codehaus.plexus.component.repository.exception.ComponentLookupException

Posted 幽灵雾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mavenorg.codehaus.plexus.component.repository.exception.ComponentLookupException相关的知识,希望对你有一定的参考价值。

【问题现象】

在使用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”等待成功即可

以上是关于Mavenorg.codehaus.plexus.component.repository.exception.ComponentLookupException的主要内容,如果未能解决你的问题,请参考以下文章

Mavenorg.codehaus.plexus.component.repository.exception.ComponentLookupException