项目前期配置:
配置仓库
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。
搞了一天,真苦逼啊!