9
votes

Développement du plug-in Maven - Comment s'assurer de la construction de Maven 3.0.x au lieu de 3.1.x?

J'essaie de développer un plug-in Maven Maven. Je suis en train de courir dans ce problème lorsque j'exécute mes tests de l'unité: java.lang.noclassduffoundEfferror: org.eclipse.aether.repositorysystemsession code> Trace de pile est ci-dessous:

<dependencies>
    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>3.0.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-annotations</artifactId>
        <version>3.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-tools-api</artifactId>
        <version>3.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven.plugin-testing</groupId>
        <artifactId>maven-plugin-testing-harness</artifactId>
        <version>3.0.0</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-compat</artifactId>
        <version>3.0.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>3.0.4</version>
    </dependency>
</dependencies>


2 commentaires

Pouvez-vous montrer votre code plugin? Peut être le projet GitHub?


Quelqu'un d'autre trouve-t-il ironique que les personnes qui maintiennent les appareils de test pour l'outil de gestion de la gestion des dépendances ont faussé la gestion de dépendance?


3 Réponses :


13
votes

OK, je pense donc que j'ai compris le problème avec Ather: il semble dépendre de quelle version de Maven-plugin-test-Harness est utilisé. Version <= 2.1 semble utiliser Sonatype Atherher. L'utilisation de cet ensemble de dépendances résout le problème d'éther: xxx


1 commentaires

Fondamentalement, si vous considérez que les dépendances fournies mvnrepository.com/artifact/org.apache.maven.plugin-testing/... Vous avez la liste de la dépendance que vous devez inclure. J'ai tapé cela en train de lire votre réponse et de regarder le MVNCentral. IMHO devrait être juste une dépendance à ajouter, claire et simple à faciliter le test.



10
votes

légèrement plus confortablement que de passer à la dépendance à l'éclipse Ather, de nombreuses dépendances du Maven-plugin-test-harnais avaient la portée modifiée par rapport à compile à < Code> fourni ce qui signifie qu'ils ne sont pas résolus par votre dépendance en aval.

On dirait que ceci était effectivement expérimenté dans Fedora également, et ils ont augmenté Ceci Problème avec Apache qui n'a pas eu d'attention depuis plus d'un an ...

sur ils, ils affirment que vous devrez ajouter des dépendances sur Maven-Core , Maven-Model, Maven-Aether-Fournisseur Mais sur un coup d'œil aux dépendances de Maven-plugin-test-Harness Il existe d'autres fourni dépendances de la portée .

Les dépendances que j'ai dû ajouter pour persuader tout pour travailler avec le harnais de test du plugin 3.3 étaient les suivants: xxx


1 commentaires

Heureux que vous avez lié le bogue associé. Je souhaite que tous les 2500 téléspectateurs de cette question s'en tiennent à voter maintenant;)



1
votes

Donc, intéressant et assez étrange, les réponses fournies ci-dessus ne fonctionnaient pas pour moi. A fait de creuser et n'a rien trouvé. Enfin, Cercle complet lors de la visite de l'URL du plug-in: http://maven.apache.org/plugin-testing/maven-plugin-testing-hareness/dependency-convergence.html

La section "Convergence de dépendance" fournit toutes les versions de dépendances nécessaires pour assurer le plugin ' se allume'. En quelques secondes, tout fonctionnait. Voici un extrait de ce que j'avais finalement dans mon POM: xxx

espère que cela aide quelqu'un là-bas :)


0 commentaires