| | Grails バージョン: 3.0.7
| | グルーヴィーなバージョン: 2.4.4
| | JVM バージョン: 1.8.0_51
grails プラグインをインストールしようとしています: Slug Generator 0.5 ( https://grails.org/plugin/slug-generator )
ただし、サービス依存性注入はドメイン クラスまたはサービスのいずれかで正しく機能せず、常に null 参照になります。
プラグインがサービスを正常に注入しないのを経験したのはこれが初めてではありません: Grails Geocode プラグイン依存性注入の問題
基本的に、サービス依存性注入が機能することを期待できないため、アプリケーション内で一部のプラグインを使用できない時点にいるようです。
誰かが洞察を提供できれば、私は最も感謝しています。
私は次のサンプルコードに従っています:
class Dummy {
def slugGeneratorService
String name
String slug = ""
def beforeInsert() {
this.slug = slugGeneratorService.generateSlug(this.class, "slug", name)
}
def beforeUpdate() {
if (isDirty('name')) {
this.slug = slugGeneratorService.generateSlug(this.class, "slug", name)
}
}
}
エラー ログの例を次に示します。
Caused by: java.lang.NullPointerException: Cannot invoke method generateSlug() on null object
私が気付いたことの 1 つは、コマンド ラインで次のコマンドが何も返さないことです。
$ grails リストプラグイン | grep スラッグ
ただし、別のプラグインを検索すると、結果が得られます。
$ grails リストプラグイン | grep ジョーダ
ジョダタイム
スラグ ジェネレーター プラグインがクラスパスにあり、外部ライブラリを介してすべてのソースに実際にアクセスできることが (IntelliJ 経由で) はっきりとわかります。
多分それは問題へのヒントですか?