在maven插件测试线束中注入DefaultRepositorySystem时出错

在maven插件测试线束中注入DefaultRepositorySystem时出错,maven,maven-plugin,aether,Maven,Maven Plugin,Aether,我试图在现有(2.0)插件的基础上创建一个新的maven(3.0.3)插件,并帮助aether获取一些依赖项 我尝试使用maven插件测试工具(版本2.0.1)创建一个简单的测试来加载mojo,但是lookupMojo失败,出现了guice异常: 1) Error injecting: org.sonatype.aether.impl.internal.DefaultRepositorySystem at ClassRealm[plexus.core, parent: null] at Clas

我试图在现有(2.0)插件的基础上创建一个新的maven(3.0.3)插件,并帮助aether获取一些依赖项

我尝试使用maven插件测试工具(版本2.0.1)创建一个简单的测试来加载mojo,但是lookupMojo失败,出现了guice异常:

1) Error injecting: org.sonatype.aether.impl.internal.DefaultRepositorySystem
at ClassRealm[plexus.core, parent: null]
at ClassRealm[plexus.core, parent: null]
while locating org.sonatype.aether.RepositorySystem
while locating org.codehaus.griffon.maven.plugin.MvnValidateMojo
at ClassRealm[plexus.core, parent: null]
while locating org.apache.maven.plugin.Mojo annotated with @com.google.inject.name.Named(value=org.codehaus.griffon:griffon-maven-plugin:1.3.0-SNAPSHOT:validate)
这当然是因为我需要在某个时候引用存储库系统,但不是现在:

@Component
private RepositorySystem repoSystem;
我曾经尝试过(实际上是从)2.1版开始,但在AbstractMojoTestCase#setUp()方法中遇到了问题


不管怎样,我都不确定我需要包括什么,以及在哪里做类似于烹饪书的香草魔咒负载测试。有人有什么想法吗?

7年后,我遇到了同样的问题

解决方案是还将工件添加为测试范围的依赖项,因为该组件显然仍然依赖于旧的Maven 2 API


org.apache.maven

对于他的回答,我也有同样的问题!我正在使用maven插件工具注释。你能找到解决办法吗?不,还没有。我现在已经推迟了不可避免的事情,但是…仅供参考,有一个bug被归档了:
org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
  role: org.apache.maven.repository.RepositorySystem
roleHint:
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:247)