# Was ist Maven?



## Angel4585 (7. Aug 2011)

Hallo,

ich schaue mir gerade Maven an und hab das jetzt mal so installiert wie es auf der Maven seite steht.
Jetzt hab ich da ne bat in nem Verzeichnis liegen  und ein paar Systemvariablen mehr, aber wie muss ich so ein Maven-Projekt überhaupt verstehen?
Ich dachte jetzt, das wäre eine Serverlösung auf die ich via TCP zugreife usw?
Wie setze ich einen Mavenserver auf mit dem ich mehrere Projekte verwalten kann? 
Gibt es sowas überhaupt?
Oder ist Maven nur was lokales?


----------



## TheDarkRose (7. Aug 2011)

Maven ist ein Build-Tool, welche dir das kompilieren, packen und so, einfacher macht und das auch unabhängig von der IDE. Weiteres bietet Maven Dependency Management (Abhängigkeitsverwaltung). Abhängigkeiten werden durch Maven automatisch aufgelöst und im Classpath bereitgestellt, ohne dass du was dazu beitragen musst, außer halt diese Abhängigkeit zu definieren. Weiteres gibt es jede Menge Plugins, die dir den Build-Alltag erleichtern.ngi

Maven ist keine Serverlösung. Wenn du deine Artifakte (also deine Projekte) wo zentral lagern willst, damit andere diese als Abhängigkeit zur Verfügung haben, brauchst du ein Repository (z.b. Artifactory oder Nexus). Die meisten Abhängigkeiten die du definierst, liegen im Central Repo von Maven.


----------



## gman (7. Aug 2011)

Maven ist ein komplexes Thema das man nicht in einer Antwort erklären kann. Ich versuch es trotzdem mal ;-)

Mit Maven kannst du die Bibliotheken von denen dein Projekt abhängt verwalten (runterladen und dem Projekt
hinzufügen).

Mit Maven kannst du dein Projekt ausführen/testen/deployen.

Mit Maven kannst du Projekte direkt nach Vorlagen (Archetypes) anlegen, so das die richtige
Konfiguration schon vorliegt.

Es gibt sehr viele Plugins für Maven mit denen man noch viel mehr Späße machen kann (Release-Plugin, usw)

Am besten liest du dir mal die Doku auf der Maven-Seite durch.


----------



## tagedieb (7. Aug 2011)

???:L

Maven ist ein Build- und DependencyManagement Tool zum kompilieren und packetieren deiner (Java-) Projekte.

Sowas wie einen Mavenserver gibt es nicht. Das Tool wird lokal auf deiner Maschine ausgefuehrt. Was es gibt sind Maven Repositories welche nahezu alle oeffentlichen 3rd Party Libraries beinhalten.

Ich weiss nicht was du dir darunter vorgestellt hast, aber am Besten du liest im maven-definitive-guide den ersten Teil 'Maven by Example'. Da wird Maven an praktischen Beispielen erklaert.


----------

