Eclipse - .jars fest ins Projekt einbinden ?

Trash

Erfahrenes Mitglied
Hallo,
wenn ich in einem Eclipse-Projekt .jars einbinden möchte, dann wähle ich den folgenden Weg: Properties - Java Build Path - Add external Jars. Problem an der Sache ist jedoch, dass die Jar-Dateien lokal gebunden sind und an einen Pfad geknüpft sind. Wenn ich das Projekt nun auf einen anderen PC kopieren möchte, sind die Pfade ja verschieden. Wie kann ich also die Jars fest in mein Projekt einbinden, dass ich das Projekt problemlos auf andere PCs kopieren kann ohne die Pfade anzupassen ?

Sie sollen nur abhängig vom Workspace sein. geht das ?

Danke!
 
Zuletzt bearbeitet:
Ich würde sagen, am besten kopierst du diese Jars, in dein Project. Dann kannst du in eclipse mit der rechten Maustaste draufklicken. Da wählst du dann add To Buildpath oder so ähnlich. :-)

MFG

zEriX
 
Die einfachste Variante ist es, einen Ordner lib oder so anzulegen, die Jars da reinzulegen und sie dann als lokale Jars dem Projekt hinzuzufügen.

Allerdings ist diese Art des Dependencymanagements ziemlich schwer zu handlen, sobald die Zahl deiner Bibliotheken eine gewisse Größe übersteigt. Für ein Spring oder Hibernate im Classpath brauchst schon mal so 20 - 30 jars inkl. transitiver Abhängigkeiten usw. Versuch dann mal herauszufinden welches Jar jetzt zu welcher Bibliothek gehört.

Desweiteren wirst du dann ja auch quasi genötigt, die Dinger mit ins Versionskontrollsystem einzuchecken -> grusel.

Alternativ kann man Userlibraries in Eclipse einrichten und Jars dann zu Bibliotheken zusammenfassen. Dein Kollege muss dann "nur noch" eine gleich benamte Userlibrary anlegen, und dort die Jars eintragen. Was allerdings dazu führt, dass er die Jars evtl auch selbst zusammen suchen muss. Auch nicht das wahre.

Wirklich Spass macht sowas eigentlich nur mit einem Buildtool wie Maven. Bei dem reicht es, die Dependencies in einem XML File zu deklarieren und den Rest macht Maven. Dafür existiert auch ein Eclipseplugin, was das ganze wieder über süße Fensterchen machbar macht.

Alles eine Frage der Wahl des richtigen Hammers ;)

REINHAUN!
 
Oder über Ivy in einem Ant-Buildscript statt über Maven. Maven ist ja nicht unbedingt einfach zu konfigurieren und die Plugins haben immer mal wieder Bugs...
 
Bei Maven oder auch Ant muss man aber auch jedes mal die Jars zusammen suchen oder irre ich mich da?

Wenn man sie direkt ins Projekt kopiert hat man halt den Nachteil, dass man viele Archive haben kann, aber man braucht sie nur einmal zu importieren und kann das Projekt dann auf jedem Rechner verwenden, ohne dass man noch einmal irgendwas verändern muss.

MFG

zEriX
 
Bei Ant schon... Maven lädt die automatisch aus Internetrepositories und legt sie lokal ab. D.h. er hätte sie nicht fest im Projekt, aber ein Kollege der das Projekt auf macht, hat nach einem Anstossen von Maven die Dependencies sofort da liegen. Kein Suchen, nix.. (bis auf ein paar dumme Apis von Sun ;))

REINHAUN!
 
Ok, mit Maven hatte ich bisher nichts zu tun. Das Feature klingt aber nicht schlecht.

MFG

zEriX
 
Wenn du Ivy in Ant benutzt ist es genauso. Der lädt die Dependencies auch aus Maven Repositories runter, aber man kann halt weiter das eigentliche Buildscript benutzen (blöd nur dass mir Ivy erst auffiel als ich meinen Build schon fast ganz auf Maven umgestellt hatte :D)
 
Zurück