AspectJ编译器DeclareMixin错误

时间:2013-02-05 17:06:08

标签: java annotations aspectj

我正在使用@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())不会返回实现任何实现的接口的东西。

当我在AggregateInterfaceImpl中引入第二和第三界面时,问题出现了。

你对这个问题有什么看法吗?我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,声明了不同的mixin附加到不同的工厂方法。