IDEA中Maven构建报错

报错信息

创建Maven项目后报了如下错误信息

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

1) [Guice/ErrorInjectingConstructor]: NoSuchMethodError: DefaultModelValidator: method 'void <init>()' not found
  at CustomModelValidator.<init>(CustomModelValidator.java:36)
  while locating CustomModelValidator
  at ClassRealm[maven.ext, parent: ClassRealm[plexus.core, parent: null]]
      \_ installed by: WireModule -> PlexusBindingModule
  while locating ModelValidator annotated with @Named(value="ide")

Learn more:
  https://github.com/google/guice/wiki/ERROR_INJECTING_CONSTRUCTOR

1 error

======================
Full classname legend:
======================
CustomModelValidator:  "org.jetbrains.idea.maven.server.embedder.CustomModelValidator"
DefaultModelValidator: "org.apache.maven.model.validation.DefaultModelValidator"
ModelValidator:        "org.apache.maven.model.validation.ModelValidator"
Named:                 "com.google.inject.name.Named"
PlexusBindingModule:   "org.eclipse.sisu.plexus.PlexusBindingModule"
WireModule:            "org.eclipse.sisu.wire.WireModule"
========================
End of classname legend:
========================

      role: org.apache.maven.model.validation.ModelValidator
  roleHint: ide

原因及解决方法

上网搜索后发现可能是由于我安装的Maven版本过高,与IDEA不兼容导致的。笔者安装的Maven是3.9.1,IDEA是2021.2.3。
之后我连续试了3.6.3,3.8.1,3.8.4三个版本的maven。由于前2个maven的Junit都只支持到3.8,不满足我的需求。最终在尝试装了3.8.4之后,终于可以使用Junit4之上的版本了。
搞了我一下午,泪目了o(╥﹏╥)o

下载旧版本的位置


2.

3.

4.

posted @ 2023-03-25 14:10  飞哥传书  阅读(1391)  评论(0)    收藏  举报