[英]Eclipse compile error with generics, but ok with maven/javac
我的Eclipse IDE(基于Eclipse Luna SR1 4.4.2的Spring Tool Suite版本3.6.4.RELEASE)给我这个Mockito代码一个错误:
when(searcherClient.findDocumentsByCriteria(
any(GenericCriteria.class),
any(ParameterizedTypeReference.class)))
.thenReturn(
DataFixture.getGenericDocumentResponse());
错误是:
类型SearcherClient中的方法findDocumentsByCriteria(GenericCriteria,ParameterizedTypeReference)不适用于自变量(GenericCriteria,ParameterizedTypeReference)
该方法的签名是这样的:
public <T> T findDocumentsByCriteria(
GenericCriteria criteria,
ParameterizedTypeReference<T> responseType)
让我感到困惑的是,当我从eclipe(使用Oracle JDK 1.8.0_73)运行maven构建时,它成功完成了。 使用相同Eclipse STS版本但使用不同OS的其他同事没有编译错误。 我的操作系统是Ubuntu 15.04。
Eclipse使用自己的Java编译器(无论您如何配置),有时都显示与javac不兼容。 eclipse编译器和javac编译器都存在一些错误,这些错误正在不断修复。 考虑更新到最新的Eclipse Mars.2。
我有一个与此类似的问题,maven编译很好,但是Eclipse本身显示出某种错误,您必须在项目属性下检查2个地方:
建立路径
Java编译器
如果您正确设置了其中一项,则将无法使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.