Eclipse Wo sollte ich Bibliotheken für mein Projekt unterbringen?

TheJeed

Mitglied
Hallo zusammen!

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?

Vielen Dank & beste Grüße,

David
 
Ich schlage vor, alle Jars in einem lib-Ordner des Projektes zu kopieren.

Diese referenzierst Du dann in Eclipse, indem Du im Build-Path eine neue User-Library einrichtest mit allen Jars die Du benötigst.
 
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.
 
Ich habe nicht gelesen, dass der OP ein Problem mit einem SourceCodeControlSystem hat.
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.
 
Also nicht sehr viele...

Bei meinen Projekten sind es ca. 200.

Da würde ich pragmatisch drangehen und die Libs doch einchecken, obwohl das eigentlich keine übliche Praxis darstellt.

Eigentlich sind dafür Maven oder ANT/Ivy gute Tools zum Dependency-Management. Dies setzt aber auch (Grund)-Kenntnisse voraus.

Musst Du entscheiden.
 
Moin,

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.

Viele Grüße,
Fancy
 
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.

(Früher (also vor Maven) war nicht alles besser 😉)

Viele Grüße,
Fancy
 
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.

Beste Grüße,

David
 

Neue Themen


Zurück
Oben