问题描述
我不知道为什么会这样。我也尝试删除m2存储库。
我也尝试了各种版本的Maven插件(2.8)。
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
</dependency>
这是完整的堆栈跟踪:
Error injecting: org.apache.maven.shared.dependency.graph.internal.Maven3DependencyGraphBuilder
java.lang.NoClassDefFoundError: org/sonatype/aether/version/VersionConstraint
at java.lang.class.getDeclaredMethods0 (Native Method)
at java.lang.class.privateGetDeclaredMethods (Class.java:2701)
at java.lang.class.getDeclaredMethods (Class.java:1975)
at com.google.inject.spi.InjectionPoint.getDeclaredMethods (InjectionPoint.java:766)
at com.google.inject.spi.InjectionPoint.getInjectionPoints (InjectionPoint.java:683)
at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields (InjectionPoint.java:378)
at com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies
(ConstructorBindingImpl.java:181)
Caused by: java.lang.classNotFoundException: org.sonatype.aether.version.VersionConstraint
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass (SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass (ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:247)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:239)
at java.lang.class.getDeclaredMethods0 (Native Method)
at java.lang.class.privateGetDeclaredMethods (Class.java:2701)
at java.lang.class.getDeclaredMethods (Class.java:1975)
at com.google.inject.spi.InjectionPoint.getDeclaredMethods (InjectionPoint.java:766)
at com.google.inject.spi.InjectionPoint.getInjectionPoints (InjectionPoint.java:683)
at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields (InjectionPoint.java:378)
解决方法
将Maven版本更新到至少3.0.x +或3.1.x + How to access Bitbucket using app password
此错误是由从Sonatype迁移Maven 3.1-alpha-1引起的 以太币到Eclipse Aether(MNG-5354),这是不兼容的更改 对于某些插件。
其他报告see here声称使用Maven 3.3.0,因此在任何情况下,请首先尝试使用最新的稳定Maven(您可以从here获取)
侧面问题:您正在开发Maven插件吗?通常,您不应该在pom.xml中声明对插件的依赖性