[英]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.