簡體   English   中英

Eclipse使用泛型編譯錯誤,但使用Maven / javac可以

[英]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個地方:

  1. 建立路徑

  2. Java編譯器

如果您正確設置了其中一項,則將無法使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM