问题
我的pom文件没有报红,但是依赖无法正常导入。
右下角还总出现这种问题。
点开查看报错日志。大致如下
1) Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method <init>()V not foundat org.jetbrains.idea.maven.server.embedder.CustomModelValidator.<init>(Unknown Source)while locating org.jetbrains.idea.maven.server.embedder.CustomModelValidatorat 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 errorrole: org.apache.maven.model.validation.ModelValidatorroleHint: ide
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 <init>()V not foundat org.jetbrains.idea.maven.server.embedder.CustomModelValidator.<init>(Unknown Source)while locating org.jetbrains.idea.maven.server.embedder.CustomModelValidatorat 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)
通过搜索,大概可以知道是IDEA与Maven之间版本问题。
解决方法
附上两者互不冲突的关系表
IDEA | Maven |
2022版本 | 3.8.1及3.8.3之前 |
2021版本 | 3.8.1及3.8.3之前 |
2020版本 | 3.6.3及3.6.3之前 |
2018版本 | 3.6.1及3.6.1之前 |
我的是2020版本。但是我使用的是3.8.6版本的Maven,因此报错,之后我下载了3.6.3版本Maven并修改配置如下。
修改阿里云配置
<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url></mirror>
修改仓库下载地址
<localRepository>D:\Maven\maven_repository</localRepository>
保存后,去修改IDEA中使用的Maven版本
之后再次导入依赖
可以正常导入,问题解决!