我遇到下面的代码有问题:
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 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表达式的调用是有效的。