| 

.NET C# Java Javascript Exception

Eigene Groovy Klassen von Groovlet aus aufrufen???

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Eigene Groovy Klassen von Groovlet aus aufrufen???

Cleudi - 04.03.2008 17:50
Hallo, ich habe eine vermutlich etwas doofe Frage, aber Tatsache ist, dass ich von Groovlets nicht auf Java/Groovy-Klassen, die im src-Ordner liegen, zugreifen kann - das sollte doch möglich sein, oder?
Ich vermute mal, ich mach einfach was falsch...

import groovybean.Tester;
def customer = new Tester(id:1, name:"Gromit", dob:new Date())
println("Hello ${customer.name}")

Egal ob mit oder ohne import, was auch immer... es kommt folgende aufschlussreiche Fehlermeldung:

SCHWERWIEGEND: An error occurred processing the request
java.lang.RuntimeException: groovy.util.ScriptException: Could not parse scriptName: /files/builder.groovy
	at groovy.servlet.GroovyServlet$1.call(GroovyServlet.java:123)
...

Caused by: groovy.util.ScriptException: Could not parse scriptName: /files/builder.groovy
	at groovy.util.GroovyScriptEngine.updateCacheEntry(GroovyScriptEngine.java:327)
	at groovy.util.GroovyScriptEngine.run(GroovyScriptEngine.java:394)
	at groovy.servlet.GroovyServlet$1.call(GroovyServlet.java:119)
	... 26 more

Leider findet man zu dem Thema kaum Erläuterungen, da dies ja scheinbar "automatisch" gehen soll. Also meine Frage: Wie schaffe ich es, irgendwelche eigenen Java oder Groovy Klassen in Groovlets aufzurufen? Oder geht das nur über Spring o. ä. ?

Ich arbeite momentan mit MyEclipse 6.0, Tomcat 5.5.25 und Groovy 1.5.4.

Was mich auch noch interessieren würde: Können verschiedene Groovlets aufeinander zugreifen? Wenn ja, wie?

Danke schon mal für eure Hilfe!


Re: Eigene Groovy Klassen von Groovlet aus aufrufen???

wilhelm.nagy@bfw.gv.at - 05.03.2008 15:57
Hallo Cleudi,


Wenn du unter Windows unterwegs bist:
es darf KEINE leerzeichen im verzeichnispfad vom Tomcat geben
Das herauszifinden hat mich tage gekostet.

Du hast also webapps und darunter deine Applikation $APPROOT genannt.
Deine Klassen liegen jetzt entweder in $APPROOT oder in
$APPROOT/classes/...

import bezieht sich auf $APPROOT/classes
z.B.

in $APPROOT/classes/util
package util
class irgendwas {....}

im hauptprogramm (egal ob es sich um ein GSP oder ein 'echtes' groovy programm handelt)
import util.irgenwas

irgendwas myclass = new irgendwas() ...

Jedenfass funktioniert es bei mir so

\^/ili
(Wilhelm Nagy)


Re: Eigene Groovy Klassen von Groovlet aus aufrufen??? / Können groovlets aufeinander zugreifen

Cleudi - 06.03.2008 01:28
Hallo,

danke euch allen mal für die Antworten.

Stand ist folgender:
- TOMCAT_HOME : D:\Programme\apache-tomcat-5.5.25 -> sollte also in Ordnung sein

- von meinen Groovy files werden keine .class Dateien erstellt. Weder von jenen, die wie normale Javadateien im src Ordner liegen, noch von den Scriptdateien im webapp-verzeichnis. Letztere werden ohnehin vom GroovyServlet behandelt, erstere werden schlichtweg ignoriert. Wie ich die händisch hineinkompilieren soll, weiss ich leider nicht.

- die Groovy dateien, die im webapp-verzeichnis liegen, werden korrekt ausgeführt, so lange ich keine eigene Java/Groovy klasse importiere - egal ob sie aus src oder webapp verzeichnis kommt. Ich habe zu testzwecken eine "normale" java-Klasse erstellt. Von dieser wird ein .class file erzeugt... (und von .groovys, die im selben ordner liegen, eben nicht...) - allerdings, wie gesagt, funktioniert der import trotzdem nicht... siehe obige fehlermeldung...

Wenn jemand noch eine Idee hat, wäre es super :)


Re: Eigene Groovy Klassen von Groovlet aus aufrufen???

wilhelm.nagy@bfw.gv.at - 06.03.2008 08:32
hallo cleudi,

ich hab dir eine Archiv mit einer laufenden kleinapp zusammgestellt, welche bei mir am Server lauffähig ist.

Schreib mir bitte wohin ich diese Liefern soll.
Es geht leichter zu erklären, wenn eine Beispiel vorliegt.

\^/ili
(Wilhelm Nagy)


Re: Eigene Groovy Klassen von Groovlet aus aufrufen???

Cleudi - 06.03.2008 20:00
Danke, das ist supi von dir... you got mail :)


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Eigene Groovy Klassen von Groovlet aus aufrufen???" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.