出现原因
出现该错误的原因是由于IDEA版本(2022.1)与Maven版本(3.9.4)不匹配导致(通常是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[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的版本,例如3.6.1或者3.6.3。作者选择使用3.6.3,压缩包下载地址https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip
当下载压缩包并解压后需要进行一些简单的配置,如新建本地仓库文件,设置配置文件(配置本地仓库文件位置、配置远程仓库),配置环境变量,修改IDEA中Maven项目的设置。
1.新建本地仓库文件
在解压文件下新创建一个mvn_repo文件夹,如下图所示:
2.设置Maven配置文件(配置本地仓库文件位置、配置远程仓库)
首先打开上图中的conf文件夹->打开settings.xml文件。在打开的settings.xml文件中添加上图中本地仓库文件夹的位置路径,并配置远程仓库(选择阿里云镜像)。步骤如下(示例):
<localRepository>D:\develop\apache-maven-3.6.3\mvn_repo</localRepository>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
3.配置环境变量
将环境变量中Maven的路径改为新下载Maven的路径即可。
最后在命令提示框中输入mvn -version显示对应的版本即下载成功!!!
4.修改IDEA中Maven项目的设置
在setting->Build->Build Tools->Maven中做以下修改。