各クラスの場所が、クラスおよびパッケージの宣言と一致していることを確認してください。
ドメインクラスを作成しました
\grails-app\domain\Abc
このクラスは次のようになります
class Abc {
// implementation omitted
}
パッケージ宣言がないことを確認してください。場所に基づいて、このクラスはデフォルトのパッケージに含まれているはずです (これは実際には悪い習慣です)。理想的には、このクラスをパッケージに入れ、ソース ファイルを\grails-app\domain
パッケージ名に対応する のサブディレクトリに移動する必要があります。
今、私はコントローラーを作成しました
\grails-app\controllers\myapp\myController
このクラスは次のようになります
package myapp
class myController {
// implementation omitted
}
このクラスは小文字の 'm' で名前を付ける必要があることに注意してください。これは、ファイルの名前が小文字であるためです。標準の Java/Groovy 命名規則では、クラスは大文字で始める必要があります。
その中で、オブジェクトを作成するとエラーが表示されます。
def Abc obj = new Abc
このコードにはいくつかの問題があります。
- タイプをどちらか一方として定義します
def
が
Abc
、両方として定義することはできません
- いくつかの括弧がありません
代わりにこれを試してください:
Abc obj = new Abc()