AspectJとコンパイル時のウィービングでEclipseJunoを使用していますが、次のシナリオがあると、この厄介なエラーメッセージが表示されます。
@Configurable(preConstruction = true)
public abstract class AbstractEntity {
@Resource private Service service;
public AbstractEntity () {
service.doSomething();
}
}
public class Response extends AbstractEntity {
public Response() {
super();
}
}
マーカーは[問題]タブには表示されません。応答のクラス宣言に赤いxマーカーが表示されるだけです。クリーニングは何も変更しませんが、@ ConfigurableアノテーションをResponseクラスに移動し、AbstractEntityから削除すると、エラーマーカーは消えますが、スーパーコンストラクターが挿入されたサービスにアクセスしようとするとNPEが発生します。
このエラーマーカーは実際には何も壊さないことにも言及することが重要です。コードをそのままにしておくと、すべてが正常に機能するので、クラス(およびAbstractEntityを拡張するクラス)を開くたびに常にそのエラーマーカーが表示されます。
このメッセージの表示を停止する方法はありますか?CTWは、このメッセージの原因となるコンストラクタ階層を舞台裏で変更していますか?