Was ist besser für den Anfang, Maven oder Gradle?

M

Maliko

Aktives Mitglied
Moin,

ich hab bisher immer nur mit Java-Ant gearbeitet und wenn ich irgendwelche Pakete brauchte hab ich mir die Jar-Files besorgt und diese einfach ins Projekt eingebunden. Ich würd mich aber jetzt doch gern mal mit moderneren Technologien auseinandersetzen (Spring, JavaFX, etc.). Da würde es sich denke ich mal anbieten von Ant auf Gradle oder Maven umzusteigen (davon mal abgesehen dass ich es nicht geschafft habe JavaFX unter Ant zum laufen zu bringen).

Daher wollte ich euch mal fragen, was würdet ihr mir empfehlen? Was macht mehr Sinn sich drauf zu Konzentrieren? Gradle oder Maven? Wie schon gesagt alles was ich an Java kann, hab ich mir selbst beigebracht und außer Ant hab ich noch gar nix gemacht, es ist also so oder so alles Neuland für mich.

Danke schon mal im Voraus.

LG
Maliko
 
mihe7

mihe7

Top Contributor
Steht ein mehr oder weniger einfacher Build-Prozess im Vordergrund, bei dem es einfach darum geht, dass es funktioniert -> Maven. Willst Du im Build alles mögliche "skripten" können -> Gradle.

Maven = XML zur Beschreibung von hauptsächlich Abhängigkeiten (deskriptiver Ansatz)
Gradle = auf Groovy basiere Task-orientierte DSL (ein ant-ähnlicher Ansatz)

Persönlich gefällt mir Maven besser, wird aber Geschmackssache sein. Letztlich wirst Du früher oder später mit beiden Systemen in Kontakt kommen.
 
L

LimDul

Top Contributor
Vom Bauchgefühl her (allerdings ist der Einblick logischerweise limitiert), ist in Unternehmen eher maven verbreitet, während gradle mir eher bei open source projekten untergekommen ist. Ist allerdings wie gesagt limitiert der Einblick auf meine persönlichen Erfahrungen.

Afaik ist gradle vor allem in Richtung Mobile Apps verbreiteter als Maven dort. Aber im Endeffekt kommt man mit beiden zum Ziel und egal welches man sich ansieht, man macht nichts falsch.
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Also das schöne an Gradle ist, dass man damit alles auf jede beibiege Art und Weise umsetzen kann, das Problem ist aber, dass genau das auch gemacht wird – deshalb bin ich grad bei Anfängern ganz klar für Maven.
 
Oneixee5

Oneixee5

Bekanntes Mitglied
Maven funktioniert in vielen Firmen schlecht mit den Proxys und die Doku finde ich auch schlecht gemacht. Man findet irgendwie nie was man gerade braucht. In kleinen Projekten setzte ich oft Apache Ant mit Apache Ivy (Ivy kann auch alle Bibliotheken aus einem Maven Repo ziehen) ein, diese Kombi hat mich noch nie enttäuscht. Ansonsten wirst du nicht drumherum kommen dich mit Maven und Gradle zu beschäftigen.
 
kneitzel

kneitzel

Top Contributor
Also die Probleme mit dem Proxy sind real. Daher ja vor nicht zu langer Zeit auch mal meine Nachfrage, ob ich da nicht etwas übersehen habe.

-> Proxy benötigt Authentifizierung: cntlm nutzen - das ist diesbezüglich eine top Lösung.

-> Wenn es (auch) Build Systeme ohne Netz gibt, dann wäre mein Tipp Reposilite. Das ist unsere Lösung für eine Entwicklungsumgebung in einem abgesicherten Netz. Da deployen wir auch alle unsere Projekte rein was dann von Vorteil ist, da wir halt auch einige Libraries haben, auf die dann andere Projekte zugreifen müssen.
So man noch Systeme hat, die Internet Zugang haben, dann füllt Reposilite das automatisch (Mirror Einstellung).
Datenübertragung / Abgleich ist einfach bei uns über ein git Repository. Das repository von Reposilite ist da mit drin und wenn es Änderungen gab, dann können wir die einfach adden / commiten / pushen ... (Die Startscripte machen immer erst ein pull)

Also alles Top. Wir nutzen auch den Maven Wrapper - der wird auch aus dem Reposilite gezogen dank einfacher Umgebungsvariable. Zugriff auf reposilite geht über die maven Config.
 
kneitzel

kneitzel

Top Contributor
Noch zur Ergänzung die genauen Schritte der Konfiguration:
a) Maven Wrapper Umgebungsvariable:
MVNW_REPOURL=http://127.0.0.1:8080/central

b) ~/.m2/settings.xml - Proxy habe ich mit gezeigt - der ist aber hier nicht active. Wenn man aber nur einen proxy will und keinen central mirror, dann wäre das der maven Part.
Code:
<settings>
  <mirrors>
    <mirror>
      <id>central-proxy</id>
      <name>Local proxy of central repo</name>
      <url>http://127.0.0.1:8080/central</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
  <proxies>
    <proxy>
      <id>local-proxy</id>
      <active>false</active>
      <protocol>http</protocol>
      <host>127.0.0.1</host>
      <port>9000</port>
    </proxy>
  </proxies>
</settings>

c) Reposilite läuft natürlich über Port 8080 bei uns. Da erklärt es sich von alleine, aber da ist dann der wichtige Teil:
Code:
proxied [
  https://repo1.maven.org/maven2
]

d) Ggf. noch das Startscript auf Windows - da erkennt man den Proxy, den wir mitgeben. Da ist bei uns nun ein ZScaler dahinter, aber bei einem cntlm sähe es ebenso aus ...
Java:
@echo off
cd /D %~dp0
title "Reposilite: git pull"
git pull
title "Reposilite: Running (Mirror Config)"
java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=9000 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=9000 -jar reposilite-2.9.18.jar --config=.\reposilite_mirror.cdn
title "Reposilite: Ended..."

Das einfach mal als schnelle Übersicht, wie das mit den Proxies aussehen würde. Aber ein Proxy alleine ist erst einmal nichts wildes....
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Avalon Open Source Alternative für Prometheus gesucht Tools - Maven, Gradle, Ant & mehr 3
N Gradle für Tests 2 Frameworks Tools - Maven, Gradle, Ant & mehr 2
F Setup für meine .Jar Tools - Maven, Gradle, Ant & mehr 4
F Übergreifende Deploymentlösung für Tomcat, Websphere,... Tools - Maven, Gradle, Ant & mehr 0
A Maven Standard/User-Libraries für alle Eclipse-Projekte bereitstellen Tools - Maven, Gradle, Ant & mehr 3
reibi Maven Projekt für Zusatzdaten Tools - Maven, Gradle, Ant & mehr 0
HaukeG Maven Suche nach Ideen für Realisierung eines eigenen Plugin Tools - Maven, Gradle, Ant & mehr 3
S Maven Arquillian braucht fast eine Minute für ein Deployment Tools - Maven, Gradle, Ant & mehr 5
maestr0 Maven Plugin Entwicklungs Buch für Einsteiger Tools - Maven, Gradle, Ant & mehr 8
M Plattformunabhängiges Deployment für simple Zwecke Tools - Maven, Gradle, Ant & mehr 4
D property-Konfigurationsdatei für webApp(war) - wohin) - /conf/Catalina/<host>/ ? Tools - Maven, Gradle, Ant & mehr 9
K Jenkins Konfiguration für einen multi-module Maven Projekt Tools - Maven, Gradle, Ant & mehr 2
fastjack Maven: eine Jar für mehrere Teilprojekte Tools - Maven, Gradle, Ant & mehr 5
Guybrush Threepwood Installationsumgebung für Mac Tools - Maven, Gradle, Ant & mehr 2
D eine Abhängigkeit für viele jars Tools - Maven, Gradle, Ant & mehr 4
P Installer für Anwendung bauen Tools - Maven, Gradle, Ant & mehr 4
P Maven Tutorial für Anfänger Tools - Maven, Gradle, Ant & mehr 5
I Ratschläge für eine automatisierte Installation benötigt Tools - Maven, Gradle, Ant & mehr 3
slawaweis Ant Trennstrich in Attributen für eigene Ant Tasks Tools - Maven, Gradle, Ant & mehr 2
K Ant Source in JAR mitliefern für Debugging Tools - Maven, Gradle, Ant & mehr 3
M Maven Source Folder für "Examples" Tools - Maven, Gradle, Ant & mehr 2
L Buckminsterbeispiele für RCP Tools - Maven, Gradle, Ant & mehr 5
F Installer der nur für Benutzer installiert Tools - Maven, Gradle, Ant & mehr 7
-horn- Pures JRE ohne Ballast? Für BOINC-Projekt Tools - Maven, Gradle, Ant & mehr 4
D verschiedene Versionen "builden" für Test und Lifebetrieb Tools - Maven, Gradle, Ant & mehr 14
D maven config für nexus Tools - Maven, Gradle, Ant & mehr 8
R Temporärer speicherort für Applets Tools - Maven, Gradle, Ant & mehr 33
R [Maven2] immer Build failed für Projekt Tools - Maven, Gradle, Ant & mehr 10
Guybrush Threepwood Lizenz für Closed Source Tools - Maven, Gradle, Ant & mehr 6
C Property-Datei für Web Start Tools - Maven, Gradle, Ant & mehr 2
C Ant target für Eclipse .classpath Tools - Maven, Gradle, Ant & mehr 6
A Muss ich für jeden JBoss deployen? Tools - Maven, Gradle, Ant & mehr 3
J keytool um für Tomcat keystore file zu erstellen Tools - Maven, Gradle, Ant & mehr 1
M Autostart unter Windows für Java Aplikation Tools - Maven, Gradle, Ant & mehr 10
X Applets für Datenbankzugriff signieren Tools - Maven, Gradle, Ant & mehr 8
D Bibliotheken für Applet Tools - Maven, Gradle, Ant & mehr 5
I Fehler beim Signieren der JAR Dateien für Webstart Tools - Maven, Gradle, Ant & mehr 1
M Alternative Grafik für nicht-javafähige Browser Tools - Maven, Gradle, Ant & mehr 12
G Thread für bewegte Zeichnung wird nicht gestartet Tools - Maven, Gradle, Ant & mehr 3
C Applet für kurze Zeit nach dem starten anhalten Tools - Maven, Gradle, Ant & mehr 2
F Für Read Zugriff auf Server signieren? Tools - Maven, Gradle, Ant & mehr 8
K Ein Objekt anhalten für eine bestimmte Zeit Tools - Maven, Gradle, Ant & mehr 2
D Schon wieder eine Frage für meinen Editor Tools - Maven, Gradle, Ant & mehr 10
M Java-Applet Unterstützung in Browsern (für Java 1.1.8) Tools - Maven, Gradle, Ant & mehr 5
M Applet für Onlinezahlungen? Tools - Maven, Gradle, Ant & mehr 2
T Menü für WebSite in Applet Tools - Maven, Gradle, Ant & mehr 9
T Separaten Thread für GUI bei Applets? Tools - Maven, Gradle, Ant & mehr 5
S Schnittstelle für Applet von außen Tools - Maven, Gradle, Ant & mehr 4
S showDocument() für eine Rollover-Button-Klasse Tools - Maven, Gradle, Ant & mehr 2
L Hintergrundbild für Applet Tools - Maven, Gradle, Ant & mehr 3
J Editor für ".class"-Dateien? Tools - Maven, Gradle, Ant & mehr 3
A Mehr Speicher für Applet? Tools - Maven, Gradle, Ant & mehr 7
O Horizontales Menü für Homepage Tools - Maven, Gradle, Ant & mehr 3
A Sicherheitrichtlinien für Applets Tools - Maven, Gradle, Ant & mehr 2
S Buttons erstellen ... schwer für anfänger ... bitte helft Tools - Maven, Gradle, Ant & mehr 4
Spin Maven Anfang : Scala Integration Tools - Maven, Gradle, Ant & mehr 4

Ähnliche Java Themen


Oben