org.apache.maven.model.validation.DefaultModelValidator: method ‘void <init>()‘ not found

文章讲述了在项目前期配置Maven时遇到的问题,包括本地仓库设置、IDEA中Maven配置和版本兼容性问题。作者通过排除法发现主项目缺少POM文件,将子项目POM复制到主项目并修复后,解决了Maven自动恢复到默认状态导致的版本不匹配问题。
摘要由CSDN通过智能技术生成

项目前期配置:

配置仓库

1、下载maven仓库(repository.zip)解压到本地任意硬盘任意非中文目录文件中

2、在Maven的conf目录中setting.xml文件中配置本地仓库的地址。

配置中央仓库位置:

在setting.xml文件中配置阿里云中央仓库地址。

3.3 IDEA中配置maven

在IDEA中配置maven:进入 File --> Settings --> Build --> Build Tools --> Maven

配置maven安装目录、setting.xml及本地仓库的位置。


问题描述

重新加载Maven ,报错

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

原因分析:

具体原因不明,多次百度后怀疑是intellij idea版本和repository或Maven版本不匹配。

失败的尝试:

org.apache.maven.model.validation.DefaultModelValidator: method ‘void <init>()‘ not found-CSDN博客

https://www.cnblogs.com/raisins/p/16873979.html


解决方案:

排除法:

把子项目一个一个删除,看哪个子项目有问题。

结果:子项目全都删完了,发现还是报错!那就是主项目(或主目录)有问题!

猜想:子项目都有pom文件,而主项目(或主文件夹)没有,是不是缺少pom文件?

先从子项目复制一个pom文件到主项目,然后修改pom

<artifactId>xuecheng-plus-project</artifactId>

右键添加为Maven项目

最后重新加载Maven  。

不报错了,成功了!!!

然后删除pom,也没问题。

成功的真正原因:

intellij idea没有使用我本地的Maven和repository,而是自己下载了:

intellij idea2021.1.1配置自动恢复到默认状态了(也可能是失败尝试中导致的),没有使用我本地Maven3.8.6和本地repository,而是使用了Maven3.6.3和远程重新下载repository。

搞了一天,真苦逼啊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值