# JavaCC in Eclipse PlugIn



## MadMax2581 (31. Mai 2007)

Hy!

Ich habe zwei Probleme bei denen ich einfach nicht weiter komme. Sitze jetzt schon seid Stunden und komme einfach nicht weiter. Habe mit JavaCC unter Eclipse einen Parser geschrieben, der Textdateien zerlegt und daraus XML erzeugt. Als Java Projekt (wobei JavaCC die main-Methode hat) funktioniert das alles auch super, nun muss ich das ganze aber zu einem Eclipse PlugIn umbauen und nun springt er mich mehr in die Parser-Klasse (also will das ganze jetzt normal als Methode dieser Klasse aufrufen).

Die Frage: Wie kann ich mein JavaCC-Programm irgendwo in einem Eclipse PlugIn aufrufen (also wie eine Funktion einer anderen Klasse)?

Und jetzt noch die zweite Frage, die ist nicht ganz so lang ;-). Wenn ich das PlugIn aufrufe, wir es als einzelnes Fenster dargestellt --> wie bekomme ich es hin, dass es in die Eclipse Workbench integriert angezeigt wird?

Hoffe mir kann irgend jemand mal nen Tip geben. Bedanke mich jetzt schon mal für eure Hilfe.


----------



## zerix (31. Mai 2007)

Hallo,

ich kenne JavaCC leider nicht und weiß auch nicht wie die generierten Klassen aussehen, aber kannst du nicht die main-Methode deiner JavaCC-Klasse einfach umbenenen (auch nicht mehr static) und in deinem RCP-Plugin ein Object von der Klasse anlegen und die so eben umbenannte Methode ausführen?

MFG

zEriX


----------



## MadMax2581 (31. Mai 2007)

Danke für die Antwort.

Das hatte ich leider schon probiert, so geht es auch nicht. Er geht beim Debug bis zum Aufruf der Funktion und dann macht er einfach nichts mehr --> geht nicht weiter zu debugen und wirf auf keine Exception. Er hält einfach an und ist und macht gar nichts mehr.

mfg Max


----------



## Thomas Darimont (31. Mai 2007)

Hallo,

ich wette dann kommt duch eine Exception jedoch wird diese wohl verschluckt. Ich tippe mal darauf, dass die JavaCC API Klassen nicht im Plugin Classpath stehen und oder zur Laufzeit einfach nicht gefunden werden.

Gruß Tom


----------



## MadMax2581 (1. Juni 2007)

Hy.

Nach dem ich jetzt noch ewig rum probiert  und try/catch-Blöcke eingefügt habe, hab ich jetzt wenigstens endlich das Problem gefunden. Bekomm es aber leider trotzdem nicht in den Griff, vielleicht kann mir ja jemand helfen.

Die Exception der er wirft lautet:

java.lang.NoClassDefFoundError: org/dom4j/DocumentHelper

Liegt nicht wirklich am JavaCC, sondern am DOM im Zusammenspiel mit meinem PlugIn. Ich hab die dom4j-1.6.1.jar meinem Projekt hinzugefügt --> beim Programmieren erkennt er auch alles super, aber beim Debug kommt dann die Fehlermeldung. Muss ich dieses dom4j-1.6.1.jar noch irgendwie in den Classpath schreiben, damit er es dann da auch beim Debug erkennt (wenn ja, wie mache ich das)? Oder liegt es doch an was ganz anderem? Ist mein erstes PlugIn-Projekt, ich hab echt keine Idee mehr.

Gruß Max


----------



## Thomas Darimont (1. Juni 2007)

Hallo,

wie gesagt du musst das zu deinem Plugin-Classpath hinzufügen also -> auf Manifest.mf bzw. plugin.xml klicken um den Plugin-Manifesteditor aufzurufen -> Tab Runtime -> Unter Classpath die notwendigen Bibliotheken angeben (die Sachen die im Java Buildpath stehen werden dem Plugin zur Laufzeit NICHT zur Verfügung gestellt, das musst du über den Runtime Classpath einstellen...).

Gruß Tom


----------



## MadMax2581 (1. Juni 2007)

Hey!

Du bist ja echt unbezahlbar, hat geklappt. Ich dachte mir schon das es daran liegt, wusste aber nicht wo ich es angeben muss. Hatte es bestimmt schon an 20 Stellen zugefügt.

Vielen Dank nochmal, hat mich echt weitergebracht.

Gruss Max


----------

