新建springboot项目,maven与idea版本冲突。method ‘void <init>()‘ not found。最新解释

一开始遇到这个问题,在网上查相关 资料,使用了各种 解决方法,都没有效果,被困扰了差不多两天才解决掉,气死!!!!

项目场景:

idea新建springboot项目

  1. 这里先展现一下创建过程:
  • 文件-新建-项目,jdk选择1.8

在这里插入图片描述
请添加图片描述

请添加图片描述

请添加图片描述

然后本次的问题就要出现了 !!!


问题描述

  • 解决好这个小J的问题后,项目变成如下情况:
    在这里插入图片描述

  • 可以看到,Demo2Application.java文件下面出现红线。并且build出现报错

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


原因分析:

在网上查了很多原因,最后总结为如下:maven 版本与idea版本发生冲突 造成的。


解决方案:

  • 经查看,idea版本味2020.2,maven版本是3.8.6
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 经过查询,2020版的idea最好适配maven的版本是3.6.3。而我本机已经安装过这个版本,直接更改一下 。

  • 如果不会安装maven的小伙伴,可以参考mac安装配置maven,并配置到idea

点击maven主目录后面的三个小点,然后选择想要的maven路径:
在这里插入图片描述
在这里插入图片描述

  • 更改完maven版本后,重新加载maven。但问题依然没有解决
    在这里插入图片描述
  • 而且此时又出现了一个很玄妙的问题
  • 就是当重新打开该项目后,maven会重新变成3.8.6

开始以为maven版本还是不行,又试了下3.3.9版本的,但依然不行。直到发现上面那个问题,我意识到,这个新建的项目里,应该是在某个地方,对maven版本进行了设定。然后就查看新项目里的文件。最后终于被我找到了。。。
在这里插入图片描述

  • 在这里,新生成的springboot项目里,直接对maven进行了设定。
  • 此时,我们只要把这里的maven版本更改为3.6.3,并重新加载一下maven就解决了在这里插入图片描述

在这里插入图片描述

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
### 回答1: org.apache.maven.model.validation.defaultmodelvalidator: method 'void <init>'。 这是一个关于Apache Maven的错误信息。它指出在org.apache.maven.model.validation.defaultmodelvalidator类中存在一个问题,具体是在该类的构造函数中的void <init>方法中出现了错误。 void <init>是Java中用于表示构造函数的特殊方法名称。它在一个类被实例化时被调用,用于初始化对象的实例变量。 根据该错误信息,我们可以推测出在执行该构造函数时出现了错误。可能的原因有: 1. 缺少必要的参数:构造函数可能需要一些参数来正确初始化对象,但是缺少了必要的参数导致错误。 2. 语法错误:构造函数的语法可能存在错误,如拼写错误、缺少关键字等。 要解决这个问题,我们可以进行以下步骤: 1. 检查代码:仔细检查org.apache.maven.model.validation.defaultmodelvalidator类的构造函数,确保没有拼写错误、缺少参数等。 2. 查看日志:查看错误日志或控制台输出,看是否有其他相关的错误信息,可以帮助定位问题所在。 3. 查看文档:查阅Apache Maven的官方文档或API文档,了解该类的构造函数的正确用法和参数要求。 4. 寻求帮助:如果以上步骤无法解决问题,可以寻求其他开发人员或在线论坛的帮助,分享错误信息和代码片段,以便他们能够更好地理解问题并提供解决方案。 总之,解决该错误信息涉及到仔细检查代码、查看错误日志和文档,以及寻求他人帮助,以找出并解决构造函数中的错误。 ### 回答2: org.apache.maven.model.validation.defaultmodelvalidator: method 'void <init>'。 org.apache.maven.model.validation.defaultmodelvalidator是Maven工具中的一个类,用于验证Maven模型的有效性。这个类中的方法'void <init>'是构造方法,用来初始化对象。 构造方法是一个特殊的方法,它没有返回类型,并且与类名相同。在创建一个对象时,构造方法会被自动调用,用来初始化对象的成员变量。 'void <init>'这个构造方法可能是默认构造方法,用来创建一个默认的defaultmodelvalidator对象。默认构造方法没有参数,并且在没有显示定义其他构造方法时,编译器会默认生成一个默认构造方法。 通常情况下,构造方法会完成一些必要的初始化操作,例如给对象的成员变量赋初值。在这个特定的构造方法中,可能会完成一些与验证Maven模型相关的初始化操作。 总之,org.apache.maven.model.validation.defaultmodelvalidator类中的方法'void <init>'是一个构造方法,用来初始化defaultmodelvalidator对象。 ### 回答3: org.apache.maven.model.validation.defaultmodelvalidator: method 'void <init>'。是指位于org.apache.maven.model.validation包下的DefaultModelValidator类中的一个构造方法。 构造方法是在创建对象时,用来初始化对象的特殊方法。构造方法的名称必须与类名相同,并且没有返回值类型。 在该方法中,'void'表示该方法没有返回值。'<init>'是构造方法的特殊名称,用来表示构造方法。 DefaultModelValidator类是Maven中用于对项目模型(Project Model)进行校验的一个工具类。在该类的构造方法中,可能会进行一些初始化工作,例如加载校验规则等。 该类主要用于校验项目模型的准确性和完整性,确保项目模型的配置符合Maven的规范要求。项目模型是Maven中一个重要的概念,用于描述一个Maven项目的结构、依赖关系、构建配置等信息。通过校验项目模型可以帮助开发者避免常见的配置错误,提高项目的稳定性和可维护性。 默认的ModelValidator实现类DefaultModelValidator是Maven框架中的一个组件,用于验证项目模型是否合法。它会根据Maven约定规则和配置规则对项目模型进行校验,确保项目模型的准确性和规范性。当在构建过程中出现项目模型错误时,Maven会使用此类进行错误的检测和报告。 这个构造方法可能会被Maven框架的其他组件调用,通过传入一些参数来完成初始化工作。构造方法的具体实现代码在源码中可以找到,我们可以根据需要查看该方法的实现细节和功能。 总之,org.apache.maven.model.validation.defaultmodelvalidator: method 'void <init>'。是Maven框架中用于校验项目模型的DefaultModelValidator类的一个构造方法,在初始化DefaultModelValidator对象时会调用该方法,并完成一些初始化工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拉结尔之书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值