Ich bin eine kleine Test-App in Groovy Codierung. Ich habe den folgenden Code.bekommen seltsame Stacktrace auf kompilieren groovy Klasse
class Address {
static constraints = {
street(blank:false, maxSize:100)
residencenumber(min:1, max:65000)
addition()
zip()
city(blank:false, maxSize:100)
county()
country(blank:false, maxSize:50)
}
String street
String zip
int residencenumber
String addition
String city
String county
String country
String toString() {
return street + " " + residencenumber + " " + zip + " " + city + " " + country
}
}
Ich bekomme diese eher kryptische Nachricht.
nojevive @ Follett: ~/dev/code/mysmallapp $ grails generieren-all-Adresse Willkommen 1.1.1 Grails - http://grails.org/ Lizenziert unter Apache Standardlizenz 2.0 Grails Hause ist eingestellt auf:/home/nojevive/dev/Grails
Basisverzeichnis:/home/nojevive/dev/code/mysmallapp Ausführen von Script /home/nojevive/dev/grails/scripts/GenerateAll.groovy Umwelt groovy.lang.MissingMethodException: No signature of method: java.lang.Integer.call() is applicable for argument types:() values: [] at Project$__clinit__closure1.doCall(Project.groovy:11) at Project$__clinit__closure1.doCall(Project.groovy) at Project.getProperty(Project.groovy) at _PluginDependencies_groovy$_run_closure6_closure53.doCall(_PluginDependencies_groovy:467) at _PluginDependencies_groovy$_run_closure6_closure53.doCall(_PluginDependencies_groovy) at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:274) at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy) at _PluginDependencies_groovy$_run_closure6.doCall(_PluginDependencies_groovy:447) at _GrailsBootstrap_groovy$_run_closure1.doCall(_GrailsBootstrap_groovy:74) at _GrailsGenerate_groovy$_run_closure1.doCall(_GrailsGenerate_groovy:37) at GenerateAll$_run_closure1.doCall(GenerateAll.groovy:42) at gant.Gant$_dispatch_closure4.doCall(Gant.groovy:324) at gant.Gant$_dispatch_closure6.doCall(Gant.groovy:334) at gant.Gant$_dispatch_closure6.doCall(Gant.groovy) at gant.Gant.withBuildListeners(Gant.groovy:344) at gant.Gant.this$2$withBuildListeners(Gant.groovy) at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source) at gant.Gant.dispatch(Gant.groovy:334) at gant.Gant.this$2$dispatch(Gant.groovy) at gant.Gant.invokeMethod(Gant.groovy) at gant.Gant.processTargets(Gant.groovy:495) at gant.Gant.processTargets(Gant.groovy:480) Error loading plugin manager: No signature of method: java.lang.Integer.call() is applicable for argument types:() values: []
Zuerst die Entwicklung stelle ich dachte vielleicht war meine Nummer außerhalb der Reichweite (Ich hatte 1000000). Dann dachte ich, dass die Nummer vielleicht ein eingebauter Name wäre, also habe ich mich in residence_number umbenannt. Aber kein Glück. Was fehlt mir hier? Ich habe jetzt alle Einschränkungen entfernt, aber immer noch die gleiche Nachricht. Es hat also nichts mit den Feldern zu tun, die ich vermute. Etwas muss gebrochen werden?
ich das Projekt aufgeräumt und neu kompiliert. Habe den gleichen Fehler. Es stellte sich heraus, dass es in einer anderen Klasse einen Tippfehler gab? Wie kommt es, dass Sie die zu generierende Domänenklasse in der Befehlszeile angeben müssen und dann eine andere Klasse zu kompilieren scheint? naja, vielleicht Anfängerkämpfe ... – nojevive
Ich habe vor kurzem mit Scott Davis einen Grails-Kurs gemacht. Eines der größten Dinge, die ich während des Unterrichts gelernt habe, ist, dass wenn du jemals einen wirklich seltsamen Fehler bekommst, der einfach keinen Sinn macht, eine saubere Wiederherstellung deines Projekts zu machen. Ungefähr 90% der Zeit war etwas nicht mehr synchron und musste nur neu kompiliert werden. –