无法使用Maven和Java8在Lambda中编译Lombok的扩展方法调用

时间:2016-10-11 13:29:27

标签: java maven lambda java-8 lombok

我遇到以下代码的问题:

public class A {
    public String someMethod() {
        return "some";
    }
}

public class AExtension {
    public static void extensionMethod(A a, String s) {
        System.out.println(a.someMethod() + s);
    }
}

@ExtensionMethod({ AExtension.class })
public class ExtensionMethodExample {

    public void test(List<String> someList) {
        A a = new A();
        someList.stream().forEach(x -> a.extensionMethod(x)); 
    }
}

在使用Maven编译此代码时,我得到:

[ERROR] [...]ExtensionMethodExample.java:[12,49] cannot find symbol
    symbol:   method extensionMethod(java.lang.String)
    location: variable a of type [...].A

只有在使用Maven进行编译时才会出现错误,而在Eclipse中运行时,一切似乎都能正常工作。

我的一些配置:

maven-compiler-plugin: 3.5.1
lombok: 1.16.10 (I also tried 1.16.2)

更新 当然,没有Lambda表达式的调用有效。

0 个答案:

没有答案