のstatic対:このJavaでGroovyの
protected static final Logger LOG = LoggerFactory.getLogger(this.getClass())
が、我々は静的コンテキストから非静的メンバにアクセスしようとしていることを意味する。このよう許可されていません。
しかし、Groovyでは同じコードを使用できます。どのように解決されるでしょうか?
は、それはこのように見えるようにコードを作る静的に優先権を与える:protected static final Logger LOG = LoggerFactory.getLogger(MyClass.class)
またはそれは非静的参照を優先となるだろうコードを見てのように:
protected final Logger LOG = LoggerFactory.getLogger(this.getClass())
奇数これが動作するかどうか(私は今、バイトコードを調査する時間がありません)。レガシーロガーを使用している場合は '@ Slf4j'(または' @ Log4j')のASTは通常より単純です。 – chrylis
それは、宣言と割り当てを分離することができます... –