# Eclipse und STP/Apache CXF



## tinker (25. Sep 2008)

Hallo!

Ich habe folgendes Problem:
Bin grad dabei mich in die SOA Tools Platform einzuarbeiten, hab aber ein Problem beim einrichten von Eclipse. Vorgegangen bin ich nach dieser Anleitung: https://www6.software.ibm.com/developerworks/education/os-eclipse-soatp/index.html

Hab die geforderten SDKs und Runtime Environments heruntergeladen. Anschließend die SDKs entpackt und die plugins- und features-Ordner in den Eclipse-Ordner kopiert. Danach hab ich über den Update-Manager das STP SDK installiert. Soweit scheint alles zu funktionieren.

Als letzten Punkt hab ich mir noch von hier das aktuelle CXF Plugin geladen (das zip-File) und hab den entpackten plugins-Ordner in den Eclipse-Ordner kopiert. 

Somit sollten alle Files im plugins/features Ordner vorhanden sein.

Wenn ich nun aber ein neues JAX-WS Java First Project anlegen und einen Namen vergebe, kann ich nur mit next auf die nächste Seite wo ich aufgefordert werde ein Runtime-Environment auszuwählen, jedoch ist die Liste leer.

Das CXF-Runtime-Env. hab ich installiert, aber laut dem ibm-Tutorial erfolgt die installation dieses nachdem das Projekt angelegt wurde, über Project > Properties > JAX-WS > <Pfad zum CXF-Env.>.

Kann mir wer sagen, wo das Problem liegt?

Danke!

edit:
Also installiert wurden:
EMF SDK
GEF SDK
JEM SDK
GMF Runtime und
DTP SDK

Jeweils mittels zip-File, das entpackt wurde. Im entpackten Ordner eclipse wurden dann die Ordner features und plugins in den Eclipse-Installationsordner kopiert.

Anschließend wie gesagt das STP SDK mittels update-Manager.

Weiters wollt ich dann noch das WTP-SDK mittels update-Manager installieren. Jedoch gab es dabei unzählige Fehlermeldungen, keine Ahnung wieso. Aber anscheinend sind alle im WTP enthaltenen SDKs (wie zb WDT oder JDT) eh schon installiert, und es würde nur ein update gemacht werden, also hab ich das einmal gelassen.

Tja, so sieht der aktuelle Stand aus.

Aja, bei Eclipse handelt es sich um die Version 3.4.0

*EDIT*

Hab das Problem gefixt indem ich unter Window > Preferances > SOA-Tools > Installed Runtimes die CXF-Runtime hinzugefügt habe. 

Jetzt hab ich aber das nächste Problem. Hab mal wie im Tutorial ein Interface erstellt. Wenn ich das Interface in der linken unteren View anklicke um ihm Annotations hinzuzufügen bekomm ich folgende Fehlermeldung:


```
Could not initialize class org.eclipse.stp.sc.common.annotations.ext.AnnotationSupportProxy
```


----------



## Wildcard (25. Sep 2008)

In Eclipse 3.4 muss davon abgeraten werden irgendetwas in Plugins/Features zu kopieren. Alle Installationen sollten unbedingt über den Update-Manager Ersatz p2 erfolgen. Wenn ein Projekt keine Update Sites anbietet, verwende den neuen Dropins Folder.

An sich ist das alles ja ganz schön, leider gehört p2 zurück in den Incubator geschickt, weil das Teil komplett verbuggt ist und du dir bei komplexeren/verteilten Eclipse Konfigurationen  ganz schnell die Plattform derartig zerstörst, das sie nicht mehr repariert werden kann, aber das ist wieder ein anderes Thema...

Zu deinem konkreten Problem, ich kenne mich mit dem Plugin nicht aus, aber oft gibt das log detailiertere Auskunft. Zu finden ist es im Workspace in .metadata/.log


----------



## tinker (26. Sep 2008)

Erstmal danke für die Antwort.

Hab jetzt wieder von ganz vorne angefangen, um sicher zu sein das alles passt:
Zuerst mal das J2EE SDK 5 installiert, anschließend JAVA_HOME und PATH Variablen gesetzt und eclipse entpackt.
Danach hab ich über den Update-Manager mal das STP SDK geladen und installiert. Hat ohne Fehler funktioniert. Danach bin ich noch hergegangen und hab unter Window > Preferances > SOA-Tools > Installed Runtimes die CXF-Runtime (D:\Programme\java\apache-cxf-2.1.3-SNAPSHOT) hinzugefügt. Ansonsten wurde nichts gemacht (also die anderen SDKs wie oben beschrieben hab ich mal nicht installiert)

Jetzt zu den genauen Problemen: 

1. Wenn ich ein neues "JAX-WS First Project" anlege, gebe ich den Namen und das Package an, jedoch kann ich das Projekt dann nicht mit Finish anlegen, sondern muss mit next auf die nächste Seite, wo er ein Basis-File von mir haben will. Ich geh dann her und erstell einfach eine Datei (bin mir jetzt nicht sicher ob .java oder .class) und gib die an. Dann lässt er mir das Projekt auch erstellen, nur kanns das irgendwie nicht sein, was hat es da?

2. Unter Warnings hab ich folgenden Eintrag:


```
Classpath entry org.eclipse.stp.sc.SOA_Runtime_Libraries/Apache CXF 2.1 Library [Apache CXF 2.1] \
will not be exported or published. Runtime ClassNotFoundExceptions may result.
```

3. Wenn ich dann hergehe und im Projekt ein neues interface anlege, klappt das auch noch. Wenn ich das Interface dann aber links unten in der JAX-WS Ansicht auswähle (damit ich dann über das SOA-Tool WebService-Annotations hinzufügen kann) bekomm ich sofort ein Error-Fenster mit folgendem Code:


```
java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.stp.sc.common.annotations.ext.AnnotationSupportProxy
```


----------



## tinker (27. Sep 2008)

So, wieder von vorn:

Hab jetzt mal versucht das ganze unter Eclipse Europe (3.3.2) zu installieren. Also Eclipse installiert und dann über den Updatemanager und die "Europe Discovery Site" das STP SDK und alle Prerequisites (über Select Required) installiert. 

Funktioniert alles ohne Probleme, nur merk ich nach dem Neustart von Eclipse keine Änderungen. Ich kann weder ein SOA-Projekt anlegen, noch eine JAX-WS View auswählen...

Laut "Manage Configuration" ist STP aber installiert.

Ich checks einfach nicht, bitte um Hilfe!


----------

