Kann ein Maven Mojo, der sich auf Äther verlässt, mit Maven 3.0.x und 3.1.x kompatibel sein?

9

Die Version 3.1.0 von Maven basiert auf Eclipse Aether (org.eclipse .aether) statt Sonatyp Äther (org.sonatype.aether). Dies scheint die Kompatibilität für Plugins, die auf den Sonatype-Äther angewiesen sind, zu durchbrechen: Versuche, solche Plugins auszuführen, und du wirst auf Folgendes stoßen:

%Vor%

Wie in ​​Ссылка

dokumentiert

Nun, ist es möglich, ein Mojo auf Äther-Klassen zu setzen (wie org.sonatype.aether.RepositorySystemSession) sowohl mit Maven 3.0.x und Maven 3.1.x laufen?

Oder muss ich zwei Versionen desselben Plugins veröffentlichen, eines für 3.0.x und eines für 3.1.x? Setzen Sie Enforcer-Regeln wie folgt ein:

%Vor%

Ich habe bereits die Frage zu Maven-Entwicklern gestellt Mailingliste , aber bisher keine Antwort ...

    
Anthony Dahanne 16.07.2013, 19:33
quelle

2 Antworten

2

Die meisten ​​Plugins hängen von Maven-Dependency-Struktur , die unabhängig von der Maven-Version die richtigen Abhängigkeiten sammeln kann. Version 2.1 wurde veröffentlicht, um Eclipse Aether neben Sonatype Aether zu unterstützen Wenn Ihr Plugin diese Komponente verwenden kann, sollten Sie speichern.

    
Robert Scholte 16.07.2013 20:36
quelle
0

Sehr gute Frage! Ich benutze den Maven-Indexer, um einige Artefakte nachzuschlagen. Ich lade den Maven-Index programmatisch von zentralen und laufenden Abfragen herunter. Das ist meine Methode:

%Vor%

Seit ich auf maven 3.1.0 und org.eclipse.aether aktualisiert habe, bekomme ich diese Ausnahme:

%Vor%

Es scheint, dass der 3.1.3 Maven Indexer noch einige Abhängigkeiten zu org.sonatyep.aether hat. Neugierig genug, dass ich diese Ausnahme bekomme, weil "org.sonatype.aether.version.InvalidVersionSpecificationException" immer noch Teil des Projekts ist.

Wie kann ich das lösen?

    
Robert Reiz 11.08.2013 07:05
quelle

Tags und Links