Исключение компонента lookup с org.apache.maven.repository.RepositorySystem в тестировании плагина Maven

Я пытаюсь использовать maven-plugin-testing-harness версию 2.1 со следующим тестовым примером:

public class FooTest extends AbstractMojoTestCase {
  @Override
  protected void setUp() throws Exception {
    super.setUp();
  }
  public void testSomething() throws Exception {
    // todo
  }
}

Тест не работает при вызове setUp():

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:257)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:245)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:239)
    at org.codehaus.plexus.PlexusTestCase.lookup(PlexusTestCase.java:206)
    at org.apache.maven.plugin.testing.AbstractMojoTestCase.setUp(AbstractMojoTestCase.java:118)
    at foo.FooTest.setUp(FooTest.java:54)

Эти зависимости у меня в pom.xml:

    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>3.0.5</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>3.0.5</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-core</artifactId>
        <version>3.0.5</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven.plugin-testing</groupId>
        <artifactId>maven-plugin-testing-harness</artifactId>
        <version>2.1</version>
        <scope>test</scope>
    </dependency>

Любые идеи?

Ответ 1

Недавно я столкнулся с тем же исключением. После небольшого исследования я обнаружил, что плагин maven-compat решает проблему:

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-compat</artifactId>
    <version>3.0.5</version>
    <scope>test</scope>
</dependency>

Ответ 2

Оставив это здесь для всех, кто столкнется с этой проблемой в будущем:

Ответ дыма действительно работает, но убедитесь, что версии зависимостей, включенных в yegor256, совпадают с исходным совпадением. Добавление org.apache.maven: maven-compat не работал у меня, пока я не изменил эти 4 зависимости, чтобы иметь версию 3.0.5.