# externe Library in Eclipse "richtig" einbinden



## nossek (23. Okt 2011)

Guten Morgen,

Ich wollte die Library "lang3" von Apache verwenden. Habe hierfür die Datei
commons-lang3-3.0.1.jar
heruntergeladen...

Hab sie auch erfolgreich in ein Projekt eingebunden (über Project->Properties->Java Build Path -> Add external jars)

Die erste Frage: gibt es im Eclipse-Verzeichnis ein Verzeichnis, in den man externe Libraries üblicherweise/sinnvollerweise physikalisch kopiert? Wenn ja in welchen? plugins? 

Zweite Frage, zusammenhängend mit der ersten: ich kann mir innerhalb von Eclipse weder die Javadoc noch den Quellcode der lang3-Klassen anzeigen lassen. 
(habe auch eine Verzeichnis commons-lang3-3.0.1-src heruntergeladen wo der ganze Quelltext drinsteht)
Was muss ich genau tun um javadoc und source sehen zu können?

Danke, Gruß

nossek


----------



## Marcinek (23. Okt 2011)

Hallo,

diese externen Libs hängen nicht von der IDE oder System sondern vom Projekt ab.

Deswegen legt man sie sinnvollerweise in das Projektverzeichnis unter \lib ab

also


```
projekt
  -bin
  -src
  -lib <-- da
  -deployment
  -distribution
  - ...
```

Gruß,

Martin


----------



## nossek (23. Okt 2011)

Danke, Martin.

Habe jetzt im Projektordner einen Ordner "lib" angelegt (der war noch nicht da) und wiederum den Odner "commons-lang3-3.0.1" hineinkopiert.

Obwohl die lib jetzt im Projektverzeichnis steht muss sie trotzdem noch über die Projektproperties eingebunden werden. (wieso eigentlich?)

Die javadoc der importierten Klassen sehe ich aber immer noch nicht. (den Quellcode auch nicht, wobei das weniger wichtig ist...)

Was muß ich noch tun um die Javadoc zu sehen?


----------



## Marcinek (23. Okt 2011)

Du brauchst eine JAR, die Javadoc und Sourcen enthält, sonst siehst du es nicht.

Nun das LIB verzeichniss ist erstmal nur ein Verzeichnis, da drin können sich alle möglichen Libs verstecken. Du musst diejenigen, die du verwenden willst exakt angeben.

Wenn du das Programm später "deployest", dann musst du im Classpath dies genauso machen.

Gruß,

Martin


----------



## nossek (23. Okt 2011)

Habs jetzt mithilfe dieser Anleitung hinbekommen, das ich im Projekt die Source und die javadoc sehen kann:

How to make Apache Commons (StringUtils etc...) work with Eclipse?

Habe allerdings nicht (wie Du empfohlen hast) die Dateien von Apache
commons-lang3-3.0.1.jar
und
commons-lang3-3.0.1-src.zip
in ein lib-Verzeichnis im Projekt kopiert, sondern sie in ein Verzeichnis "Externals". Und die "commons-lang3-3.0.1.jar" dann (wie im Link beschrieben) per 
Preferences -> Java -> Build Path -> User Libraries 
hinzugefügt. 
Und dann unter Source attachement -> edit -> External File den Pfad auf 
...Externals/commons-lang3-3.0.1-src.zip
gesetzt.
Und unter Javadoc Location -> edit -> Javadoc in archive -> external file den Pfad ebenfalls auf 
...Externals/commons-lang3-3.0.1-src.zip

Im jeweiligen Projekt dann unter 
Properties -> Java Build Path -> Add Library -> User Library -> Next -> ...
hinzugefügt.

Das funktioniert auf jeden Fall, ist das in Ordnung so oder Murks?


----------



## Marcinek (23. Okt 2011)

Viele Wege führen nach Rom ;D

User Libs zu verwenden ist auch eine idee. Hängt von vielen Faktoren ab. Wir nutzten ant um die Projekte zu bauen, da müssen wir nicht mit user libs arbeiten ;D


----------



## nossek (23. Okt 2011)

Hm, also Murks ist es nicht, man kann es so machen, da bin ich ja schon mal beruhigt 

Über den Begriff "Ant" bin ich schon öfter gestolpert, verstehe aber nicht so recht was das sein soll. Ist vermutlich ein advanced Topic, um das ich mich später mal kümmern kann?!

Bin grad erst in Eclipse eingestiegen, und man könnte sich ja jetzt sehr lange damit beschäftigen was da alles geht, würde aber gerne nebenbei auch ein bisschen programmieren...


----------



## Marcinek (23. Okt 2011)

Siehe Tooltipp: ANT


----------

