l'exception de recherche de composant avec org.Apache.maven.référentiel.RepositorySystem dans Maven plugin de test

je suis en train d'utiliser maven-plugin-testing-harness la version 2.1 à la suite de cas de test:

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

le test échoue à la setUp() appel:

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)

Ces dépendances que j'ai dans le 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>

des idées?

25
demandé sur yegor256 2013-04-03 09:13:16

2 réponses

récemment j'ai fait face à la même exception. Après quelques recherches, j'ai trouvé que le plugin maven-compat résout le problème:

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-compat</artifactId>
    <version>3.0.5</version>
    <scope>test</scope>
</dependency>
44
répondu smoke 2013-05-23 06:37:19

Quitter cette voici pour tous ceux qui s'exécute dans ce problème à l'avenir:

la réponse de smoke fonctionne, mais assurez-vous que les versions des dépendances incluses dans les yegor256 dans la question originale correspondent. L'ajout de org.Apache.maven: maven-compat n'a pas fonctionné pour moi jusqu'à ce que j'ai changé ces 4 dépendances pour avoir aussi la version 3.0.5.

7
répondu Rob 2014-04-25 19:13:16