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 Ссылка
dokumentiertNun, 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 ...
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.
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?
Tags und Links maven maven-3 maven-plugin aether