0

Groovy で小さなテスト アプリをコーディングしています。次のコードがあります。

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
}

}

私はこのやや不可解なメッセージを受け取っています。

nojevive@follett:~/dev/code/mysmallapp$ grails generate-all アドレス Grails 1.1.1 へようこそ - http://grails.org/ Apache Standard License 2.0 の下でライセンス供与 Grails ホームは次のように設定されます: /home/nojevive/dev /grails

ベースディレクトリ: /home/nojevive/dev/code/mysmallapp 実行中のスクリプト /home/nojevive/dev/grails/scripts/GenerateAll.groovy 環境を開発に設定 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: []

最初に、自分の番号が範囲外ではないかと考えました (1000000 でした)。それから、番号が組み込みの名前だと思ったので、residencenumber に名前を変更しました。しかし、運がありません。ここで何が欠けていますか?すべての制約を削除しましたが、同じメッセージです。したがって、私が推測する分野とは何の関係もありません。何かが壊れている必要がありますか?

4

2 に答える 2

1

これが解決したことは知っていますが、toStringを実行するためのより良い方法は次のとおりです。

String toString() {
  "$street $residencenumber $zip $city $country"
}
于 2009-07-16T08:21:32.040 に答える
0

私は間違っているかもしれませんが、Stringにintを追加していると思います。私は試してみます:

street + " " + residencenumber.toString() +...
于 2009-07-14T20:32:24.477 に答える