# MAVEN Plugin erzeugen



## kemot (5. Jul 2011)

Hallo..
Habe folgenedes Probleme.
Ich würde gerne ein Maven Plugin schreiben wollen, welches mir aus einer wsdl besteimmte Klassen und Methoden erzeugt. Ich weiss, dass es schon WSDL nach Java Generatoren gibt, die mir die Klassen/Methoden für den Nachrichtenaustusch generieren, aber ich muss noch ein wenig dazu generieren. 
Vll kennt sich jemand damit aus?

Gruß,
kemot


----------



## kama (5. Jul 2011)

Hi,

was liefern denn die vorhandenen WSLD2Java Plugins nicht?

Gruß
Karl Heinz Marbaise


----------



## kemot (5. Jul 2011)

@kama

Danke für dein feedback..

Die Generatoren generieren mir die Kommunikationsklassen, die sog. Stubs und Skeletons.
Auf der einen Seite ist der Client und auf der anderen der Service, Client<->Service.
Ich würde gerne zusätzlich aus der WSDL weitere Code-Schnipsel generieren wollen, wie z.B.
zusätzlich eine Klasse die die ankomenden Nachrichten, die vom Service kommen an eine Gui weiterleitet, Bild: GUI<->Client<->Service.
Wichtig wäre, dass man die Ausgabe, die durch die Generetoren gemacht wird, so konfigurieren kann, dass sie neben den Stubs und Skeletons auch noch was weiteres erzeugen können.

Gruß


----------



## kama (5. Jul 2011)

Hallo,

als Beispiel würde ich mir mal das ANTLR Plugin anschauen...als Beispiel wie es geht...

Ich bin aber der Meinung, dass solcher Code nicht im Rahmen einer WSDL Generierung erzeugt werden sollte, sondern unabhängig davon, da WSDL nicht viel mit GUI zu tuen hat....

Gruß
Karl Heinz Marbaise


----------



## Wildcard (5. Jul 2011)

> Wichtig wäre, dass man die Ausgabe, die durch die Generetoren gemacht wird, so konfigurieren kann, dass sie neben den Stubs und Skeletons auch noch was weiteres erzeugen können.


Und wie genau soll das funktionieren?
Dafür bräuchtest du eine Template Sprache, spontant fallen mir dazu XPand, Jet, XQuery und XSLT ein.


----------



## kemot (5. Jul 2011)

Es scheint so, dass ich etwas anderes verusuchen werden.
Ich werde wohl ein Maven Plugin entwickeln müssen, welches als Eingabe eine WSDL nimmt und diese dann speziell auf mein Problem reduziert und in Java classen umwandelt.
Vll kenn sich jemand mit dem Vorgang aus und kann mir sagen, ob ich da richtig liege.

Das ganze macht man mit Mojo:
1. Klasse bilden die von AbstractMojo erbt.
Diese Klasse bringt eine Funktion mit sich, die execute().
Kann ich direkt in dieser Klasse loslegen mit der Programmierung, was nützt mir diese execute Funktion? Ist es die, die dann als erstes durch das Plugin ausgeführt wird?
Zusätzlichhabe ich auch vertsanden, dass man in dieser Klasse Annotations setzen kann, die dann die plugin-Parameter definieren. Über die Pom.xml kann ich dann eben diese Parameter setzen.

Vll kann mir da jemand kurz Infos geben, wäre sehr hilfreich für mich.

Gruß


----------



## Wildcard (5. Jul 2011)

Bevor du mit Maven Plugins anfängst musst du erstmal das Problem an sich lösen. Wenn du das hast, kannst du deinen Code immer noch in ein Maven Plugin verpacken. Immer einen Schritt nach dem anderen...


----------



## kama (6. Jul 2011)

Hallo,

ich kann Wildcard nur zustimmen....erst das Problem lösen und dann in ein Maven Plugin gießen...

Aber hier kann man mit anfangen:


Maven - Plugin Developers Centre
Chapter11.Writing Plugins / Documentation Sonatype.com



Und zum anderen den Code von anderen Plugins lesen..und versuchen zu verstehen...

Gruß
Karl Heinz Marbaise


----------

