背景:idea 2021.1 集成apache maven 3.8.5版本,在安装项目依赖时,无法下载依赖,出现报错:NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method ‘void ()’ not found,类似如图:
Caused by: java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method ‘void ()’ not found
at org.jetbrains.idea.maven.server.embedder.CustomModelValidator.(CustomModelValidator.java:36)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at com.google.inject.internal.DefaultConstructionProxyFactory$ReflectiveProxy.newInstance(DefaultConstructionProxyFactory.java:126)
at org.jetbrains.idea.maven.server.embedder.CustomModelValidator.(CustomModelValidator.java:36)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at com.google.inject.internal.DefaultConstructionProxyFactory$ReflectiveProxy.newInstance(DefaultConstructionProxyFactory.java:126)
解决方法
原因很见到,因为这是mavan版本过高,与idea不兼容导致的,使用maven 3.6.5版本即可,如果使用3.6.5版本还是不行,那就继续降低版本吧。