Maven vs Gradle

Maven vs Gradle


  • Anzahl der Umfrageteilnehmer
    14

MoxxiManagarm

Top Contributor
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.
 

MoxxiManagarm

Top Contributor
und genau diese Flexibilität ist das, was mich bei Gradle „stört“
Das ist wie Autofahren mit Automatic und Kupplung. Ich fahre auch lieber Kupplung

Bisher klappte zumindest bei mir alles noch mit passenden Maven-Plugins
Kann sein, aber nichts jeder will sich unzählige Plugins laden

Welche Dinge denn zB?
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.
 

mrBrown

Super-Moderator
Mitarbeiter
Das ist wie Autofahren mit Automatic und Kupplung. Ich fahre auch lieber Kupplung
Die baut dir beim schalten auch immerhin meine Heckspoiler an und wechselt die Reifen :p

Ich persönlich mag auch die Syntax vn Gradle lieber, xml wird bei großen Projekten sehr schnell extrem unübersichtlich.
https://github.com/takari/polyglot-maven ;)

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.
Stimmt, dass klappt da wirklich einfacher, mit Maven würde man das vermutlich mit mehreren Modulen lösen
 

thecain

Top Contributor
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.
 

Der Wissende

Mitglied
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
XML:
<build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.7</version>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>some directory</source>
                ...
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

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.
 

White_Fox

Top Contributor
Ich hab keine Ahnung, weder von Gradle, noch von Maven.

Und vote doch für Gradle, da ich mich da gerade einfuchse, für Gradle und gegen Maven waren drei Dinge ausschlaggebend:
  1. Ich hatte noch nicht den notwendigen Druck, mich mit diesem XML-Geraffel von Maven hinreichend auseinanderzusetzen.
  2. Es hat mir sehr gefallen, wie ControlsFX als Gradle-Projekt aus mehren Projekten aufgebaut ist.
  3. @dzim hat mir dazu geraten.
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.
 

dzim

Top Contributor
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.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
Oneixee5 Maven deploy - per SSH Tools - Maven, Gradle, Ant & mehr 6
H Maven kein Hauptmanifestattribut Tools - Maven, Gradle, Ant & mehr 10
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
D Interne Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 51
J log4j2 mit Hibernate über Maven Tools - Maven, Gradle, Ant & mehr 10
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
H Maven JUnit5 Tests werden ignoriert Tools - Maven, Gradle, Ant & mehr 5
thor_norsk Maven Tools - Maven, Gradle, Ant & mehr 32
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
Ich kann Maven nicht als UmgebungsVariable hinzufügen Tools - Maven, Gradle, Ant & mehr 2
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
W Was "braucht" man denn alles? Maven, Ant, Git, ... Tools - Maven, Gradle, Ant & mehr 21
N Fehler beim Imgui mit Maven Tools - Maven, Gradle, Ant & mehr 7
M Spring Boot Maven pom.xml-Eintrag Tools - Maven, Gradle, Ant & mehr 17
Encera JavaFX und Maven funktioniert nicht Tools - Maven, Gradle, Ant & mehr 1
B maven multi module Projekt und unnötige/zusätzliche Leerzeilen Tools - Maven, Gradle, Ant & mehr 4
J Maven Konfusion Tools - Maven, Gradle, Ant & mehr 7
Tippster Maven Sqlite integrieren (Eclipse, Maven) Tools - Maven, Gradle, Ant & mehr 4
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
T JSON Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 7
T JavaFX, Jar über Maven kreieren Tools - Maven, Gradle, Ant & mehr 2
Encera Libraries Maven Projekt hinzufügen Tools - Maven, Gradle, Ant & mehr 9
Oneixee5 Maven Phase Tools - Maven, Gradle, Ant & mehr 3
Robertop maven copy-resources nicht in WAR Datei Tools - Maven, Gradle, Ant & mehr 2
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
M Mit Maven eine jar Datei bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 1
M Mit Maven eine jar Datei Bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 18
H Maven Maven: <mainClass>NAME?</mainClass> Tools - Maven, Gradle, Ant & mehr 13
H Maven maven-source-plugin is missing Tools - Maven, Gradle, Ant & mehr 5
M Missing Artifact on selbst gehostestes Maven Paket Tools - Maven, Gradle, Ant & mehr 8
M Error code 409 maven Tools - Maven, Gradle, Ant & mehr 5
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
M durch Maven wird "var" nicht gefunden Tools - Maven, Gradle, Ant & mehr 4
N Maven Intellij Maven Projekt erstell keine src Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven Einzelne Unit Tests in Maven Builds skippen Tools - Maven, Gradle, Ant & mehr 3
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
L Maven IntelliJ, Maven und JavaFX + SceneBuilder Tools - Maven, Gradle, Ant & mehr 23
von Spotz Maven und Spring: "Add to classpath" ? Tools - Maven, Gradle, Ant & mehr 29
Kirby.exe Projekt mit Maven kompilieren Tools - Maven, Gradle, Ant & mehr 13
P Maven Projekt Abhängigkeiten auf bekante Schwachstellen prüfen Tools - Maven, Gradle, Ant & mehr 4
H Maven dependency Problem ? Tools - Maven, Gradle, Ant & mehr 23
B Maven und Intellij Tools - Maven, Gradle, Ant & mehr 24
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
yakazuqi Maven Eigene API mit Maven einbinden Tools - Maven, Gradle, Ant & mehr 1
P Maven Wie die Maven Project version in JSP page verwenden? Tools - Maven, Gradle, Ant & mehr 2
C Maven Multi-Module Projekt Tools - Maven, Gradle, Ant & mehr 2
T Maven Warnings/Fehlermeldungen Tools - Maven, Gradle, Ant & mehr 12
T Maven und Datenbank(treiber) Tools - Maven, Gradle, Ant & mehr 13
T Maven Runnable Jar Tools - Maven, Gradle, Ant & mehr 5
T Grundlagen Maven und Git/Github Tools - Maven, Gradle, Ant & mehr 2
LimDul Maven Maven Surefire Plugin - Warnings upgrade Tools - Maven, Gradle, Ant & mehr 2
G Maven upload Tools - Maven, Gradle, Ant & mehr 0
K Maven - Parent oder Dependency? Tools - Maven, Gradle, Ant & mehr 5
B Maven Maven deploy Tools - Maven, Gradle, Ant & mehr 4
H Jenkins keine Tests gefunden - aber in Maven Tools - Maven, Gradle, Ant & mehr 30
P Mit Maven einen spezifischen Branch nach Tag-Parameter erstellen (in Jenkins-Job) Tools - Maven, Gradle, Ant & mehr 3
P Nur einen Teilbaum in Maven releasen? Tools - Maven, Gradle, Ant & mehr 7
D Cannot invoke "javafx.scene.control.MenuButton.getScene()" nach konvertierung zu maven Tools - Maven, Gradle, Ant & mehr 3
H Maven - keine Durchführung von Tests Tools - Maven, Gradle, Ant & mehr 12
H Jenkins - maven-jar-plugin - kein jar-file Tools - Maven, Gradle, Ant & mehr 38
P JavaFX jar mit Maven Tools - Maven, Gradle, Ant & mehr 9
P Maven & Intellij Modul kann nicht aufgelöst werden Tools - Maven, Gradle, Ant & mehr 12
H Eclipse JUnit erzeugt Fehler im Maven-Test Tools - Maven, Gradle, Ant & mehr 1
H Maven Anfängerproblem - No plugin found for prefix 'archetype' in the current project and in the plugin groups Tools - Maven, Gradle, Ant & mehr 25
D Maven Maven und die Build-Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 11
K Maven IntelliJ + Maven + JavaFX Tools - Maven, Gradle, Ant & mehr 2
J Maven Mit Maven eine ZIP Datei erstellen Tools - Maven, Gradle, Ant & mehr 0
K Maven install schlägt fehl Tools - Maven, Gradle, Ant & mehr 10
I Problem: Maven import extern Lib Tools - Maven, Gradle, Ant & mehr 3
Tom299 Maven Maven funktioniert nach Installation nicht Tools - Maven, Gradle, Ant & mehr 1
I Maven Interface hinzugefügt - Error Tools - Maven, Gradle, Ant & mehr 1
M Verständnisfrage Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven installieren - "Befehl wurde nicht gefunden" Tools - Maven, Gradle, Ant & mehr 1
E Maven: Wie Abhängigkeiten analysieren? Tools - Maven, Gradle, Ant & mehr 0
E Maven Maven distributionManagement Vererbung in child POM Tools - Maven, Gradle, Ant & mehr 8
P Maven Parent- Child POMs Tools - Maven, Gradle, Ant & mehr 13
E Release Kandidaten mit Maven bauen Tools - Maven, Gradle, Ant & mehr 4
C Orderstruktur bei Libarys - Wie mit Ant oder Maven lösen? Tools - Maven, Gradle, Ant & mehr 0
G Maven, finde Dependency nicht... Tools - Maven, Gradle, Ant & mehr 2
G Maven Continious Integration mit Jenkins, Maven und Nexus - wie richtig? Tools - Maven, Gradle, Ant & mehr 1
P Maven Parent und Child Poms - dependencies Tools - Maven, Gradle, Ant & mehr 1
reibi Maven Maven + Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Maven add resource Tools - Maven, Gradle, Ant & mehr 0
D [Maven Pluginentwicklung] - Plugin das nur auf Parent pom läuft Tools - Maven, Gradle, Ant & mehr 0
S Maven Maven und Auflösen von JSF EL Tools - Maven, Gradle, Ant & mehr 5
H Maven HSQLDB in den Maven lifecycle einbinden Tools - Maven, Gradle, Ant & mehr 5
S Maven Unterschiedliche Deployments mit Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven buildnumber-maven-plugin / Formatproblem mit timestamp Tools - Maven, Gradle, Ant & mehr 17
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
aze Maven downgraden von 3.x auf 2.09 unter Linux Tools - Maven, Gradle, Ant & mehr 4
Rudolf JSF und Maven mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
M Maven-Dependency kann nicht gefunden werden Tools - Maven, Gradle, Ant & mehr 2
M Maven imports aus Modulen Tools - Maven, Gradle, Ant & mehr 4
P multimodul maven in SVN Tools - Maven, Gradle, Ant & mehr 3
D [Maven] neuerdings "No plugin found for prefix ..." errors Tools - Maven, Gradle, Ant & mehr 7
C Automatisches Deployen in ein externes Maven Repository. Tools - Maven, Gradle, Ant & mehr 5
D JUnit Test in Maven fail und in Eclipse erolgreich Tools - Maven, Gradle, Ant & mehr 4
C Kleines Problem mit Maven und Resourcen. Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen

Neue Themen


Oben