# Eclipse - .jars fest ins Projekt einbinden ?



## Trash (3. Januar 2008)

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!


----------



## zerix (3. Januar 2008)

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


----------



## Oliver Gierke (3. Januar 2008)

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!


----------



## zeja (3. Januar 2008)

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...


----------



## zerix (4. Januar 2008)

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


----------



## Oliver Gierke (4. Januar 2008)

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!


----------



## zerix (4. Januar 2008)

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

MFG

zEriX


----------



## zeja (4. Januar 2008)

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 )


----------

