1

@DeclareMixinによって提供されたを使用していaspectjrt-1.6.11ます。

状況は次のとおりです。

    @Aspect
    public class anAspect {

      @DeclareMixin(value="@an.annotation.package.* *", interfaces = {
        FirstInterface.class, SecondInterface.class, ThirdInterface.class
      })
      public AggregateInterface magicMethod(Object instance) {
        return new AggregateInterfaceImpl(instance);
      }

      public interface AggregateInterface extends FirstInterface, 
        SecondInterface, ThirdInterface {
      }
}

したがって、を介してコンパイルするaspectj-maven-plugin-1.4と、コンパイラは、ファクトリメソッド(私の場合はmagicMethod())は、実装されているインターフェイスを実装するものを返さないと言います。

この問題は、で2番目と3番目のインターフェイスを導入したときに発生しましたAggregateInterfaceImpl

問題について何か考えがありますか?私が間違ったことはありますか?

ありがとう。

4

1 に答える 1

0

さまざまなファクトリメソッドに接続されたさまざまなミックスインを宣言するこの問題を解決しました。

于 2013-04-24T08:42:17.663 に答える