# Frage zu Target Platform



## hdi (27. Apr 2010)

Hey,

manch einer erinnert sich vllt noch an ein paar Threads vor einigen Wochen dazu.
Also kurz gesagt ich will ein Plugin programmieren für den Eclipse Process Framework Composer,
und in meinem Plugin muss ich auf dessen API zu greifen.

D.h. ich muss als Dependencies Bibliotheken daraus angeben. Um das machen zu können muss ich meine EPF Installation bei der Target Platfrom in Eclipse hinzufügen.

Wenn ich das wiederum mache kann ich aber mein Plugin mit Eclipse nicht testen, es erscheint einfach nicht. Also meine Frage:

Wenn ich bei der Target Platform noch etwas außer dem Standard-Eclipse angebe, funktioniert dann ein Plugin nicht mehr im "normalen" Eclipse?

Das Problem ist ich kann es nur in Eclipse programmieren denn EPF hat da ne ganz andere Struktur da kann man gar keine Eclipse oder Java Projekte anlegen. Sprich ich müsste mein Plugin nach jeder kleinen Änderung als Plugin exportieren, in EPF installieren und dort würde es gehen?

Das kann ja nicht sein oder so kann man ja nix programmieren.

Also kA nochmal kurz gesagt:
Sobald ich im Eclipse bei der Target Platform noch meinen EPF-Pfad angebe und dann mein Plugin testen will (Run/Debug as Eclipse Application) erscheint mein Plugin nicht. Wenn ich die Standard Target Platform nehme geht es, allerdings kann ich dann nicht die Bibltiotheken verwenden die ich brauche und damit komm ich ja auch nicht weiter.

Ich check das alles nicht könnt ihr mir das erklären bitte?
Thx


----------



## Wildcard (27. Apr 2010)

In der Launch Config auf validate plugins klicken, dann bekommst du schon gesagt wenn etwas fehlt.
Danach mal ein add required plugins und nochmal validieren.


----------



## hdi (27. Apr 2010)

Hm ich habs jetzt einfach nochmal gestartet und auf einmal krieg ich ne Fehlermeldung. War schon vor paar Wochen so dass die Eclipse App manchmal gestartet hat (allerdings dann ohne mein Plugin) oder ein Fehler kam beim Starten.. Geändert hab ich nix das passiert mal so mal so..

Hier mal die komplette Meldung ich weiss nicht was davon alles relevant ist:



> !SESSION Tue Apr 27 22:54:05 CEST 2010 -----------------------------------------
> !ENTRY org.eclipse.equinox.launcher 4 0 2010-04-27 22:54:05.561
> !MESSAGE Could not find extension: reference:file:javax.transaction_1.1.1.v201002111330.jar
> !ENTRY org.eclipse.equinox.launcher 4 0 2010-04-27 22:54:05.564
> ...



Danke für die Hilfe!


----------



## Wildcard (28. Apr 2010)

Mir scheint als würde deine Target Platform Bundles enthalten deren Version nicht zusammenpasst.
Wie sieht deine Target Platform denn aus und welche Meldung bekommst du wenn du auf Validate klickst?


----------



## hdi (29. Apr 2010)

Die Target Platform ist die Standard Platform ($eclipse_home) + zusätzlich der Pfad meiner EPF-Installation. Also Eclipse + EPF halt und er findet da auch Bundles also beim Eclipse steht daneben 689 included (also Libs denke ich sind damit gemeint) und beim EPF 233 included.

Wenn ich auf Validate Pluings klicke kommen diese 2 Einträge:


----------



## Wildcard (29. Apr 2010)

233 scheint mir zu viel. Das sind wahrscheinlich große Teile des Eclipse Cores + EPF. Wahrscheinlich sind in deiner EPF Installation andere Versionen der Eclipse Core Bundles enthalten und die passen nicht zusammen. Hat EPF keine Update Site? Wenn nein, nimm nur den EPF spezifischen Teil aus deiner EPF Installation und nicht alles, oder nimm die EPF Installation komplett und nur die fehlenden Teile die dein Plugin braucht von einer Update Site, oder deiner Eclipse Installation.


----------



## hdi (30. Apr 2010)

Ich kann keine einzelnen Teile aus der EPF Installation nehmen. Wenn man etwas zur Target Platform adden will gibt es nur:

- Installment 
...addet eben alles

- Directory
...kommt in meinem Fall auf's selbe heraus denn ich könnte jetzt zwar einzelne Ordner aus dem features-Ordner nehmen, allerdings liegen die allermeisten Libs im plugin-ordner direkt. Und dann bin ich wieder bei den 233

- Feature
...s.o.

- Sofware Site
Naja das is ja nur wenn ich die Lib nicht lokal hab denk ich mal.

Also ich kann nur alle 233 einbinden... D.h natürlich nicht dass ich alle auch in der Mainfest-Datei unter "Dependencies" adde! im Moment hab ich da nur eine einzige Sache aus EPF geaddet org.eclipse.epf.library.project, weil ich davon eine Klasse verwende. 

Aber sobald ich das tue wieder dieser Fehler... 

Aber sobald ich das hinzufüge wieder der gleiche Fehler


----------



## Gast2 (30. Apr 2010)

hdi hat gesagt.:


> Ich kann keine einzelnen Teile aus der EPF Installation nehmen. Wenn man etwas zur Target Platform adden will gibt es nur:



Klar kannst du!!! Mach dir einfach einen eigenen Ordner und schmeiß da alles relevanten EPF plugins rein und den ordner addest du dann...
Aber ich würde auch nach einer updateSite suchen...


----------



## hdi (1. Mai 2010)

Also das mit dem eigenen Ordner hab ich jetzt versucht - ich hab die nötigen jar Files vom EPF plugin ordner da rein gehauen (im Moment also nur das was ich brauche, org.eclipse.epf.library).

Allerdings funktioniert das nicht - ich kann bei den Dependencies in meiner Plugin.xml diese Lib nicht auswählen, so als wär sie nicht Teil der Target Platform :bahnhof:

Und ich weiss nicht so recht was ihr mit Update Site meint jetzt. Also bei EPF kann ich unter Help->Install Software nur neue Dinge installieren, wenn ich "Update" angewählt ist kann ich im Dialog gar nicht weiter. Heisst wohl da gibt es nix zum Updaten?

EDIT: Nach Neustart von Eclipse ging das jetzt mit dem eigenen Ordner. Leider ist jetzt wieder der selbe Fehler. org.eclipse.epf.* kann sich doch aber nicht mit irgendwelchen core-Libs von Eclipse in die Haare kriegen oder also können wir diesen Fall mit den Versionskonflikten nun wohl ausschließen.

Was mich wieder zu meiner alten Frage führt:
Kann es sein dass das Plugin halt einfach nicht funzt wenn ich es in ner Eclipse App starten möchte, wenn Teile von EPF drin sind? Ich meine eigentlich spezifizert man ja genau deshalb die Target Platform ich weiss, aber wieso erscheint mein Plugin nicht mehr sobald ich da weitere Dinge hinzufüge ;(


----------



## Wildcard (1. Mai 2010)

hdi hat gesagt.:


> Was mich wieder zu meiner alten Frage führt:
> Kann es sein dass das Plugin halt einfach nicht funzt wenn ich es in ner Eclipse App starten möchte, wenn Teile von EPF drin sind? Ich meine eigentlich spezifizert man ja genau deshalb die Target Platform ich weiss, aber wieso erscheint mein Plugin nicht mehr sobald ich da weitere Dinge hinzufüge ;(



Gleiches Spiel: Erst in der Launch Config die Plugin Configuration validieren und wenn das nicht hilft bekommst du beim Start in jedem Fall ein log meldung.


----------



## hdi (1. Mai 2010)

Ja also ich hab einige Missing Constraints beim Plugin Validation. Wollte die dann auch noch importieren aber bei jedem neuen include krieg ich 5 neue missing constraints.

Ich denke im Endeffekt würde es darauf hinauslaufen dass ich wieder das komplette EPF inkludiere, deshalb möcht ich nochmal auf das bild aufmerksam machen das ich gepostet hab. (s.o)

Er meckert ja da über 
	
	
	
	





```
org.eclipse.ocl
```
 - oder meinst du nicht dass das der Fehler ist?

Ich hab danach gegooglet und etwas runtergelden, kann's aber nicht installieren da er dafür wiederum irgendwas braucht. das ist dann aber schon irgendwas mit UML..

Mal ehrlich ich will doch nur eine Klasse aus der EPF API nutzen, EPF hab ich aufm Rechner und ich inkludier das komplette Installment in der Target Platform, wie kann es sein dass er da noch irgendwas anderes braucht??

Wenn das so weiter geht muss ich echt das Handtuch werfen, ich sitz daran seit Monaten... :noe: Ich komm einfach kein Stückchen weiter das ist so demotivierend


----------



## Wildcard (2. Mai 2010)

Definiere als Target Platform die Location an der EPF liegt. Geh in die Launch Config, validiere die Plugin Configuration und poste was fehlt.
Die Sache ist eigentlich wirklich nicht kompliziert, du solltest dich mal ein wenig einlesen wie die Sache mit der Target Platform funktioniert...


----------



## hdi (8. Mai 2010)

Siehe ein paar Posts vorher: Ich hab ein Bild gepostet mit dem Ergebnis was fehlt.
Das sind die Dinge die gelistet werden wenn ich als Target Platform *EPF + Eclipse* definiere. Wenn ich _nur _EPF definiere fehlt noch mehr, zB irgendwas mit eclipse ui sachen usw. Die werden halt wohl für das Plugin gebraucht.

Zu diesem org.eclipse.ocl was gelistet wird hatte ich ja im letzten Post was geschrieben. Ich weiss aber nicht was das ist und konnte das wie gesagt nich installieren oder inkludieren...


----------



## Wildcard (8. Mai 2010)

org.eclipse.ocl ist Teil von Eclipse Modelling.


----------



## hdi (25. Mai 2010)

Also ich hab jetzt org.eclipse.ocl heruntergeladen und in die target platform eingebunden.
nach einem erneuten plugin validate ist dieses Problem verschwunden, es kamen aber zwei neue:
einmal etwas mit uml2, hab dann auch dies runtergeladen und neu validiert -> ist verschwunden.

Jetzt bleibt noch eine Sache übrig:





Ich hab eine org.mortbay.jetty jar runtergeladen, kann die aber nicht in die Target Platform einfügen (er findet in dem Ordner angeblich nix obwohl da ne jar drinliegt). Weiterhin hab ich noch irgendeinen SDK Release gefunden der aber irgendwie keine jars enthält also damit weiss ich auch nich was ich tun soll.

D.h. ich find irgendwie nicht den passenden Download bzw. weiss nicht wie ich diese jar die ich runtergeladen hab einbinden kann in die Target Platform...



> Die Sache ist eigentlich wirklich nicht kompliziert


Naja meine Erfahrungen damit sind bisher der blanke Horror. Ich häng seit vielen Wochen hier fest und immer wenn ich irgendwas zu fixen scheine kommt n neues Problem.
Ich hoffe mal diese Probleme bei der Plugin Validation haben überhaupt etwas damit zu tun dass ich nen Error bekomm wenn ich das Plugin starten will.

Ich würd mich über weitere Hilfe freuen, ich hab echt keine Ahnung was hier los ist und wieso ich hier anfangen muss 500 mb an jars und packages zu laden nur weil ich eine einzige Klasse aus EPF benutzen will..

*edit:*
Also nochmal und sorry falls ich mich hier immer und immer wiederhole, aber ich glaub es ist nich ganz klar was hier läuft:

Ich kann das Plugin als Eclipse Application starten, d.h. als Target Platform ganz normal Standard Eclipse. Aber so ist das nicht gedacht denn später soll es in EPF als Plugin installiert sein, d.h. Target Platform wird EPF sein.

Also hab ich ne Target Platform mit Eclipse + dem EPF Installment gemacht.

Sobald ich dann aber das Plugin starten will kommt eben dieser Fehler:


----------



## Wildcard (25. Mai 2010)

Du mixt viel zu viel Zeug in deine Target Platform. Du sagst deine Target Platform ist grundsätzlich EPF, dann nutze EPF als Target Platform. Zusätzlich musst du natürlich alle Bundles integrieren die dein Plugin benötigt, also addest du diese (und nur diese) zur Target Platform. Wenn es dann Konflikte gibt sind die Abhängigkeiten deines Plugins unvereinbar mit deiner Target Platform. Wenn das der Fall ist, musst du deine Abhängikeiten ändern (zB ältere Version).
Die Sache wird leider dadurch verkompliziert das EPF anscheinend kein P2 Repository zur Verfügung stellt sondern nur ein Product und das ist immer schlecht. Da du diese Gegebenheit aber nicht ändern kannst, wirst du damit leben müssen.


----------

