# Bibliotheken in Versionsverwaltung?



## Angel4585 (4. Aug 2011)

Guten Tag!

Ich hab eine Projektstruktur die etwa so aussieht:

./libs/.....
./projects/project1
./projects/project2
./projects/project3


nun möchte ich das ganze in einer Versionsverwaltung(Mercurial) verwalten.
Ich weis jetzt nciht ob und in welcher Forum ich die Bibliotheken(bisher einfache jars) da mit aufnehmen soll.
Die ändern sich denk ich recht selten werden aber in allen Projekten über nen relativen Pfad eingebunden.
Wenn die sich ändern, wie werden die von solchen Versionsverwaltungen behandelt?

Sollte man das überhaupt machen, wie macht ihr das mit den Bibliotheken?


----------



## kama (4. Aug 2011)

Hi,

ich verwende in allen Projekten Maven...damit stellt sich mir die Frage nicht...

Gruß
Karl Heinz Marbaise


----------



## Angel4585 (4. Aug 2011)

Ich kenne Maven nicht bzw. nur vom hörensagen, kannst du kurz erklären was das ist und wie das grob strukturiert ist?


----------



## maki (4. Aug 2011)

Maven bietet u.a. Dependency Management, also die Verwaltung der Abhängigkeiten (Jars), diese werden aus einem sog. Artifact Repository gezogen.


----------



## mvitz (4. Aug 2011)

Meine pragmatische Meinung dazu:

Wenn du kannst (und das ist meiner Meinung nach auch das ideale) nutze ein Build System, welches Dependency Management besitzt (Maven, Gradle, ...) oder wo man dies nachrüsten kann (Ivy für ANT).

Sollte das kurzfristig nicht machbar sein, dann solltest du die genutzen Libraries meiner Meinung nach mit einchecken. Was ich dann allerdings auch für wichtig erachte ist, die Versionsnummer im Namen des JARs mit unterzubringen und idealerweise auch irgendwie zu vermerken, welche Library man wofür braucht und welche anderen JARs von einem JAR gebraucht werden (sogenannte Transitive Dependencies).


----------



## Angel4585 (4. Aug 2011)

Also ich bin grad dabei mit verschiedenen Versionsverwaltungen rumzuprobieren und werd mir jetzt auch mal Maven anschauen.

Die Versionskontrolle usw wie SVN oder Mercurial Sie haben ist da auch mit drin oder wie muss ich das verstehen?


----------



## maki (4. Aug 2011)

Maven ist ein Buildtool, kein SCM.
Unterstützt werden alle möglichen SCMs, wie CVS, SVN, GIT, Mercurical, etc. pp...

Wenn du dich für Maven interessierst, solltest du dich reinlesen/reinarbeiten.

Ansonsten checke deine Jars mit ein ins SCM.


----------



## TheDarkRose (4. Aug 2011)

Maven ist ein Build System, was unabhängig von deinem Versionverwaltungssystem ist. In dein VVS muss dann eigentlich nur mehr die pom.xml und alle Dateien unter src eingebunden werden.


----------

