在使用Maven 3.8.5和Intellij Idea导入Springboot 2.7项目时出现错误。

23

使用 start.spring.io 时,生成的 Spring Boot 2.7 项目附带 MavenProject 3.8.5,当在 IntelliJ 中导入时会出现一个错误,这个错误很难调试或者不具备自说明性。

错误信息:

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")

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

IntelliJ IDEA的版本是多少?这个问题应该在2022.1版本中得到解决,涉及到此错误的范围。 - Konstantin Annikov
请展示该项目的pom文件。还需要更多关于该错误的日志输出。请检查是否在纯命令行上构建,而不是在IDEA内部构建。 - khmarbaise
正在运行2021.2版本,已更新并修复了问题@KonstantinAnnikov,谢谢。 - Austine Gwa
4个回答

42

在Intellij中,点击 文件 > 设置 > 构建执行... > 构建工具 > Maven > Maven Home路径,将其指向您的Maven目录:

图片描述

应用并重新加载项目。


2
感谢您提供的解决方案。没有其他方法有效。 - user1885498
2
这是唯一对我有效的解决方案 - 谢谢!我尝试了许多其他技巧,如Maven-重新加载和重建等,但都没有起作用。 - Marina
3
在我的情况下,我选择了“捆绑(Maven 3)”,它运行良好。 - Dushan
1
我按照@Dushan的方法做了一遍,效果很好。 - Guilherme Bigois

33

这个问题应该已经在2022.1中修复了,属于这个bug的范围。

请更新你的IDE。


这让我花了一整天的时间,谢谢你的回答。 - Ahmed Hasn.
是的,通过升级到最新的Intellij版本可以解决这个问题。 - resatz

6

我在使用stack时出现了同样的错误:使用的是IDEA 2019.3、Maven 3.8.6和JDK 1.8。因此,将Maven版本更改为3.6.1后问题得到解决。


我可以确认,在我的情况下,将Maven更改为版本3.8.1也适用于Spring Boot 2.7。 - Radek
在我将Maven主目录路径更改为3.6.3后,它对我起作用了。 - saurav

3

我刚在我朋友的项目中遇到了这个问题,只需做出简单的调整即可解决。 如果您不想更新IDE(任何原因),或者降级您的Maven版本,只需更改您的Maven Home路径:(文件|设置|构建工具| Maven),选择除“...wrapper”以外的任何列出的选项。 通常,我使用位于C:/my-maven-folder/...wrapper中的单独的maven,因此从未遇到过这种问题。希望能帮助到你!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接