# Abhängigkeiten zwischen Projketen und andere "Herausforderungen"



## Andi_CH (20. Okt 2010)

Hallo.

Ich arbeite in einem Umfeld in dem einiges einfach gegeben ist. So zum Beispiel eine "Architektur" die allenfalls als schlechtes Beispiel dienen kann und noch einiges mehr.

Ich hab ein pdf anghängt - die Abhängigkeiten zwischen den Packages sind darin dargestellt.
(Ich habe das massiv vereinfacht - im Original verwendet jedes Package grundsätzlich alles was irgendwie darunter liegt :bloed: )

Ich hatte Eclipse Europa (3.3.2) habe jetzt zuerst auf 3.6 gewechselt, aber da hatte ich immer Null Pointer Exceptions wenn die Projekte ge-refreshed wurden. Mit 3.7 ist das weg und 4.0 habe ich zu Testzwecken auch noch installiert.

Die Versionen sind zwar unterschiedlich, aber eines machen sie konsequent gleich - es wird nicht in der richtigen Reihenfolge kompiliert.

Verwendet werden Ant-Builder.

Lib1 - Lib3 liegen als jar vor.
Falls notwendig müsste zuerst Package1 kompiliert werden dann Package2 und so weiter. Am Schluss noch die beiden Mains.

Wo muss ich was einstellen, dass Eclipse das auch richtig macht?
In den Properties der Projekte gibt es zwar die Project References, aber die bewirken nichts (Liegt das daran, dass ant builder verwendet werden?)

----- anderes Problem (unwichtig?)
Seit ich Eclipse 3.7 verwende habe ich noch einen weiteren Effekt. Wenn ich "File Search" ausführe kommen von einem Package eine Menge Meldungen wie die Folgende. Ich kann das Pakage refreshen oder clenaen, was fehlerfrei geht, aber der Effekt bleibt ???:L

File 'Package2/classes/resources/Blabla_de.properties' has been skipped, problem while reading: ('Resource is out of sync with the file system: '/Package2/classes/resources/Blabla_de.properties'.').
Resource is out of sync with the file system: '/Package2/classes/resources/Blabla_de.properties'.

Ist das überhautp wichtig? 

PS: Bei Hinweisen auf google währe ich sehr froh auf Hinweise mit welchen Stichworten der gefüttert wurde, denn ich habe nichts vernünftiges gefunden :-(

Andi


----------



## tuttle64 (25. Okt 2010)

Andi_CH hat gesagt.:


> Wo muss ich was einstellen, dass Eclipse das auch richtig macht?



Hallo Andi_CH

sofern sich die verwendeten Jar-Files nicht im Classpah befinden, musst Du diese in Eclipse über -> Build Path -> Add External Archives... bekannt geben.


----------



## Andi_CH (26. Okt 2010)

Das ist es ganz sicher nicht und nützt auch ncihts, wenn noch keine jar-Files vorhanden sind.
Es ist möglich ein lauffähiges Programm zusammen zu bauen, aber es ist Handarbeit gefragt, wenn noch keine jars exisiteren. Eclipse versucht das in einer komplett falschen Reihenfolge.

Ist es klar was ich meine? 
Am Anfang war das Wort und das Wort ...... ;-) 
Nicht ganz, am Anfang ist das Nichts - leere lib-Directories - keine jars und ich starte Eclipse - das beginnt nun automatisch in einer völlig falschen Reihenfolge zu kompilieren und meldet immer dass die jars fehlen.

Wo ist das Problem? Wenn etwas fehlt soll das doch einfach automatisch erstellt werden und das ist sicher möglich wenn die Abhängigkeiten angegeben werden.

Ich habe ein Hello WorldProjekt gebastelt, das möglichst genau meiner Situation entspricht.
Da liegt bei mir auf C:\Versuch.... und greift auf eine java-lib zu, aber das ist ja einfach rauszufinden.

zuerst müsste jALib, dann jBLib und dann Main kompliert werden.

So nun bin ich mal gespannt was es braucht damit das liebe Eclipse den Weg auch ohne menschliche Hilfe findet.


----------



## tuttle64 (26. Okt 2010)

Andi_CH hat gesagt.:


> Das ist es ganz sicher nicht und nützt auch ncihts, wenn noch keine jar-Files vorhanden sind.
> Es ist möglich ein lauffähiges Programm zusammen zu bauen, aber es ist Handarbeit gefragt, wenn noch keine jars exisiteren. Eclipse versucht das in einer komplett falschen Reihenfolge.




Dann hast Du in Deinem Project etwas falsch gemacht, da üblicherweise eclipse die Abhängigkeiten selber feststellt. Jedenfalls habe ich Deine Packages gemäss folgende Abbildung in das Projekt-Root reinkopiert und dann lief alles. Siehe auch Abbildung:








Wenn Du Deine ursprüngliche Projektstruktur beibehalten willst, müssen die Klassen AConstants und MUtils im Classpath erreichbar sein. Wie ich gesehen habe, hast Du für diese Klassen das lib-Folder in eclipse angegeben, welches aber leer war. So kann es natürlich nicht funktionieren.


----------



## Andi_CH (26. Okt 2010)

Und das ohne manuelles Eingreifen mit den Ant-buildern?
Das hinterlässt ein ungutes Gefühl

Ich hab nur einen Unterschied festgestellt - ich habe einzelne Projekte ...

Ich muss morgen weitere Versuchen machen, aber vorerst vielen Dank


----------



## tuttle64 (1. Nov 2010)

Andi_CH hat gesagt.:


> Ich hab nur einen Unterschied festgestellt - ich habe einzelne Projekte ...




Dann musst Du manuell eclipse, javac oder was auch immer Du verwendest mitteilen, wo sich die Klassen befinden.


----------

