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.
EclipseWo sollte ich Bibliotheken für mein Projekt unterbringen?
Ich habe eine vermutlich recht triviale Frage. Seit langem arbeite ich an einem einzigen Rechner, wenn ich etwas entwickle. Ich habe Bibliotheken in einem vollkommen separaten und von den Projekten getrennten Ordner auf meiner Festplatte untergebracht. Das hat natürlich auch ohne Probleme funktioniert.
Nun habe ich aber gleich drei Entwicklungsstandorte, also drei PCs an drei verschiedenen Orten, auf denen ich meine Projekte entwickle. Damit ich an jedem Standort die gleichen Bibliotheken nutzen kann würde ich sie gern direkt im Projektordner unterbringen, damit diese mit wenigen Klicks per GIT auf den aktuellen Stand gebracht werden, wenn ich auch den aktuellen Entwicklungsstand ziehe.
Da ich noch ziemlich unerfahren in den Eigenheiten von Eclipse bin lauten meine Fragen: Wo im Projektordner sollte ich die Bibliotheken hinlegen? Wie sollte ich sie in Eclipse einbinden?
Ich habe nicht gelesen, dass der OP ein Problem mit einem SourceCodeControlSystem hat.
Aber ich stimme Wildcard zu, dass Bibliotheken nicht ins SCCS eingecheckt werden sollten.
Der "Vorteil" meines Vorschlages ist, dass die Bibliotheken "irgendwo" auf dem Rechner liegen können. Die User-Library bleibt jedoch gleich, nur die referenzierten Jars befinden sich woanders. Dies kann jeder Entwickler handhaben, wie er möchte.
Damit ich an jedem Standort die gleichen Bibliotheken nutzen kann würde ich sie gern direkt im Projektordner unterbringen, damit diese mit wenigen Klicks per GIT auf den aktuellen Stand gebracht werde
Maven ist IMO die einfachste Möglichkeit, insbesondere wenn die fraglichen Bibliotheken sowieso schon auf Maven Central liegen, oder du ein eigenes Repository betreibst.
imho: Wenn es nur eine Handvoll Libs mit insgesamt ein paar MB sind, check sie einfach mit ins Git ein. Git kommt damit schon zurecht. Wenn es wesentlich mehr werden sollte, so das die Größe des Repositories oder die Geschwindigkeit beim commit zum Problem werden, sie Dir mal Git-Submodules an.
Wobei Maven allerdings in der Tat der wohl sauberste Weg wäre.
Einchecken führt IMO nur zu Problemen. Später ist nicht mehr klar welche Version der Bibliothek das denn war, wo man sie runtergeladen hat,...
Wenn man weitere Projekte entwicklet braucht man ähnliche Bibliotheken wieder und plötzlich sind Bibliotheken mehrfach eingecheckt usw
Lieber explizit mit Dependency Managment arbeiten, also Maven oder Ivy
Wobei das nicht einchecken imho langfristig auch zu Problemen führen kann (ohne Dependency Managment). Z.B. wenn man auf eine ältere Version / Tag zurück muss. Mit etwas Pech stellt man dann fest das diese Version nicht mit der aktuellen Lib im lokalen lib Verzeichnis will. Und dann geht schlimmstenfalls die Detektivarbeit los, welche Version es nun war und wo die wohl herkam. Ist alles im Git, ist zumindest sicher, dass man jederzeit jede Version wieder herstellen kann.
Meiner Meinung nach in der Tat idealerweise Dependency Management des Build Tools nutzen (maven, ivy für ant, ...)!
Wenn man das nicht kann/möchte, würde ich persönlich die Libs doch einchecken. Insbesondere wenn man mit mehreren arbeitet ist so sichergestellt, dass so jeder dieselbe Version nimmt. Hierbei sollte man dann wie von Wildcard schon angemerkt sehr genau darauf achten, dass man nachvollziehen kann, welche Version die JARs darstellen und das bei einem update auch weiterhin aktuell halten.
Sorry, dass ich jetzt erst wieder schreibe - der Urlaub lässt grüßen Vielen Dank für Eure Tipps, sie haben mir wirklich sehr geholfen. Nach anfänglicher Ratlosigkeit im Umgang mit Maven habe ich mich nun eingelesen und -gearbeitet und verwende diese Lösung zur Verwaltung meiner Abhängigkeiten. Das ist hat sich als äußerst angenehm und übersichtlich herausgestellt - vielen Dank also für den Tipp und für alle anderen Antworten natürlich auch.