Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Eigentlich bräuchte ich zwei Stimmen. Für kleine Projekte ist Maven einfacher. Ich fühle mich aber für spezielle Aufgaben mit Gradle etwas flexibler. Diese speziellen Aufgaben treten bei größeren Projekten sehr schnell auf. Da ich eher mit größeren Projekten zu tun habe, habe ich für Gradle gevoted.
Sich verzweigende Prozessschritte. Wenn du z.B. 2 Builds hast für 32bit und 64 bit, dann haben beide Builds möglicherweise gleiche Steps, aber auch verschiedene. Das gleiche gilt für verschiedene Betriebssysteme. Ich persönlich mag auch die Syntax vn Gradle lieber, xml wird bei großen Projekten sehr schnell extrem unübersichtlich.
Keine Ahnung wie das in anderen IDEs ist, bee zumindest in IntelliJ ist die Autovervollständigung für Gradle echt grottig schlecht, das klappt mit maven deutlich besser, wo man im Zweifel auf mit einem Klick Schema & Doku offen hat
Sich verzweigende Prozessschritte. Wenn du z.B. 2 Builds hast für 32bit und 64 bit, dann haben beide Builds möglicherweise gleiche Steps, aber auch verschiedene. Das gleiche gilt für verschiedene Betriebssysteme.
Oder mit Profilen müsste das eigtl auch gehen meine ich.
Ich bin bei der maven Fraktion. Habe das früher gelernt und nie Vorteile bei gradle gefunden, welche mich zum Wechseln überzeugt hätten.
Bei mir ist es ganz klar gradle. So lange man nichts komplexeres macht, dann ist maven okay. Klar kann man alles mit Plugins machen, aber schon alleine für einfache Sachen wie einen extra source Ordner anzugeben braucht man ein Plugin und dann braucht es diesen Code
Bei gradle ist sowas schon eingebaut, direkt von den Machern
Code:
sourceSets {
main {
java {
srcDirs 'src'
}
}
}
Mal davon abgesehen, dass ich den Code deutlich lesbarer finde, mach ich mich nicht abhängig von jemandem drittes für sowas einfaches. Das Plugin hatte 2017 sein letztes Update, keine Ahnung, ob jemand das noch maintaint, falls es eine neue maven Version gibt und das plugin dann inkompatibel wird.
Anderes Beispiel, zum kopieren von Dateien gilt als best practices das Ant Plugin einzubinden und dann mit ant zu kopieren.
Was mir auch nicht so gefällt, ist das lifecycle Konzept. Man gibt an in welcher Phase ein Plugin ausgeführt werden soll, kann aber nur indirekt in welcher Reihenfolge die Plugins laufen. Es ist die Reihenfolge in der sie angegeben sind, was aber mit Profilen nicht mehr möglich ist.
In gradle sagt man welcher task von welchem abhängig ist, das find ich logischer.
Dazu kommen dann noch Features wie daemon und build cache, die signifikant schnelleren builds ermöglichen.
Oder ein fein granulares dependency Management, man kann angeben ob eine Abhängigkeit nur für die implemtierung gebraucht wird oder auch in der API. Der Unterschied ist, was sich ein abhängiges Projekt mit den transitiven Abhängigkeiten machen kann.
Ich hab auch ein bisschen gebraucht um mit gradle warm zu werden, aber ich find es mittlerweile einfach besser.
Und wenn ich hier lese was Gradlenutzer an Gradle so gut finden, dann hab ich anscheinend die richtige Wahl getroffen. Ich mag flexible, mächtige Werkzeuge. Gefrickel ist mir ein Greuel.
Auch wenn ich @White_Fox zu Gradle geraten habe, gibt es dennoch so Dinge die mich daran persönlich stören. Am Ende ist es egal, ich verwende primär Maven, weil ich es gewöhnt bin und weil i.d.R. auch neuere Plugins schnell dort vorhanden sind, sodass es aus der Warte selten für mich einen Zwang zum vollständigen Wechsel auf Gradle gibt.