Versioning & Packages

Maven zu Gradle

Abhängigkeiten konvertieren: XML, Gradle-Aufrufe oder Koordinaten einfügen und das gewünschte Ausgabeformat wählen.

Maven zu Gradle

Abhängigkeiten eingeben

Konvertierte Deklarationen

Die Umwandlung erfolgt im Browser. Deklarationen werden weder hochgeladen noch an Repositories gesendet.

Koordinaten: g:a[:v[:classifier]]. Ein Aufruf oder eine Koordinate je Zeile; Blockklammern auf eigenen Zeilen.

Bis zu 65.536 Zeichen und 200 Abhängigkeiten. Nur literale externe Module, keine Projektdateien.

Eingabe oder Optionen geändert. Vor dem Export erneut umwandeln.

Maven zu Gradle hilft, wenn die Bibliotheksdokumentation nur ein Beispiel für das andere Buildsystem liefert. Kopieren Sie die Abhängigkeiten einzeln, ohne Elternprojekt, Repositories oder Plugins.

Das Ergebnis ist eine Deklaration für Ihr Projekt. Ob eine Version existiert und der Abhängigkeitsgraph auflösbar ist, muss weiterhin der tatsächliche Build klären.

Maven zu Gradle mit sichtbaren Entscheidungen

Die Koordinate bleibt zusammen

Maven zu Gradle übernimmt Gruppe, Artefakt, Version und Klassifikator. Aus mehreren XML-Zeilen entstehen Groovy- oder Kotlin-Deklarationen; beim DSL-Wechsel bleibt die unterstützte Gradle-Konfiguration erhalten.

Farbige Koordinatenfelder einer XML-Karte werden in zwei kompakte Deklarationskarten übertragen

Classpath-Unterschiede erkennen

Ein Maven Scope entspricht nicht immer genau einer Gradle-Konfiguration. Hinweise neben dem Ergebnis machen sichtbar, wo API-Freigabe oder Test-Classpaths eine Entscheidung im Zielprojekt verlangen.

Scope- und Klassifikatormarker passieren die Umwandlung; ein vollständiges Projekt wird angehalten

Zuerst Notation und Verwendungszweck klären

01

Das vierte Feld richtig einordnen

Die Erkennung akzeptiert XML, unterstützte Gradle-Aufrufe und eine Koordinate je Zeile. Das Format lautet g:a[:v[:classifier]]. Das vierte Feld ist der Klassifikator, kein Maven-Packaging-Feld.

02

Anwendung oder Bibliotheks-API wählen

Maven compile und reine Koordinaten ergeben standardmäßig implementation. api passt zu einer Java-Bibliothek, die diese Abhängigkeit ihren Nutzern zugänglich macht. Vorhandene Gradle-Konfigurationen werden beim DSL-Wechsel nicht ersetzt.

03

Auf das neue Ergebnis warten

Automatik rechnet 350 ms nach der letzten Änderung. Ohne Automatik startet Ctrl/Cmd + Enter die Umwandlung. Jede Änderung sperrt Kopieren und Download, bis wieder ein aktuelles Ergebnis vorliegt.

Welche Deklarationsdetails erhalten bleiben

Gradle zu Maven

Unterstützt werden implementation, api, compileOnly, runtimeOnly und drei Testkonfigurationen. Die XML-Ausgabe lässt den standardmäßigen compile-Scope weg und schreibt die anderen unterstützten Scopes explizit.

Groovy und Kotlin DSL

Groovy erhält einfache Anführungszeichen; Kotlin DSL erhält Klammern und doppelte Anführungszeichen. api und testRuntimeOnly behalten beim Wechsel zwischen den beiden Formaten ihre Konfigurationsnamen.

Klassifikator und verwaltete Version

Das vierte Koordinatenfeld wird zu classifier in XML. Fehlende Versionen bleiben ausgelassen; ein Hinweis verlangt vorhandene Versionsverwaltung über BOM, Plattform oder dependencyManagement. Ein Klassifikator erfordert eine explizite Version.

Stapel und optionaler Block

Bis zu 200 Deklarationen bleiben in ihrer Eingabereihenfolge, einschließlich Duplikaten. Ein dependencies-Block lässt sich im Zielformat ergänzen. Kommentare und ursprüngliche Leerzeichen werden nicht übernommen.

Grenzen der Umwandlung von Ausschnitten

Keine Migration vollständiger Projekte
Ein ganzes pom.xml oder build.gradle kann Plugins, Profiles, Repositories und Vererbung enthalten. Diese Strukturen werden abgelehnt. Projektmigrationen brauchen dafür vorgesehene Werkzeuge und einen echten Build.
Nur literale externe Module
Variablen, Interpolation, dynamische Versionen, Bereiche, Map-Notation, Closures, project(), files(), platform() und Katalogaliase werden abgelehnt. Koordinaten erlauben ASCII-Buchstaben, Ziffern, Unterstriche, Punkte und Bindestriche.
Nicht unterstützte Metadaten stoppen den Stapel
optional, exclusions, system/import sowie andere Typen als jar sind nicht abbildbar. Unbekannte Felder, Attribute, DTDs und Verarbeitungsanweisungen führen ebenfalls zum Fehler. Es wird kein stillschweigend gekürztes Ergebnis exportiert.
Scope-Zuordnung ist keine Gleichheitsgarantie
compile wird implementation oder api, provided wird compileOnly, runtime wird runtimeOnly und test wird testImplementation. Rückwärts werden Gradle-Unterschiede zusammengeführt; Test-Classpath und Veröffentlichungsverhalten können abweichen.
Begrenzte Syntax ohne Repository-Abfrage
Maximal 65.536 Zeichen und 200 Abhängigkeiten. Jeder Aufruf bzw. jede Koordinate steht auf einer Zeile, Blockklammern auf eigenen Zeilen. Versionsexistenz, transitive Abhängigkeiten und Konflikte werden nicht geprüft.

Fragen zu Maven zu Gradle

Wie werden type und scope einer Maven-Abhängigkeit in Gradle abgebildet?

Die vier unterstützten Scopes folgen der Zuordnung im Regelabschnitt. type darf fehlen oder jar sein. test-jar und pom benötigen Wissen über Artefakte bzw. Plattformen und werden daher abgelehnt.

Lässt sich eine Abhängigkeit ohne Versionsangabe konvertieren?

Ja. group:artifact und XML ohne version werden akzeptiert. Die Ausgabe erfindet keine Version; das Zielprojekt muss sie über eine bereits konfigurierte BOM, Plattform oder Abhängigkeitsverwaltung liefern.

Werden Platzhalter wie ${spring.version} unterstützt?

Nein. Lösen Sie den Platzhalter zuerst auf und fügen Sie einen konkreten Wert ein. Eine Maven-Eigenschaft wird durch das Einsetzen in eine Gradle-Zeichenkette nicht automatisch zu einem gleichwertigen Ausdruck.

Wie wird aus einer Groovy-Datei build.gradle eine Kotlin-Datei build.gradle.kts?

Wählen Sie Kotlin und fügen Sie die unterstützten Abhängigkeitsaufrufe ein. Klammern und Anführungszeichen werden angepasst. Tasks, Plugins, Maps und beliebiger Groovy-Code benötigen eine eigene Migration.

Gibt es einen Online-Konverter von Gradle zu Maven?

Hier können Sie Gradle zu Maven für Abhängigkeitsausschnitte verwenden. Ein komplettes build.gradle wird nicht in ein vollständiges POM übersetzt; Repository-, Plugin-, Veröffentlichungs- und Modulkonfiguration gehören zur Projektmigration.

Fehlt eine Antwort?

Die neue Deklaration im Projekt prüfen

Mit Maven zu Gradle erzeugen Sie den aktuellen Ausschnitt. Prüfen Sie Anzahl und Scope-Hinweise, bevor Sie ihn in den passenden dependencies-Block kopieren.