簡體   English   中英

AutoValue無法解析為類型-Eclipse

[英]AutoValue cannot be resolved to a type - Eclipse

嘗試在我的Java類中使用com.google.auto.value.AutoValue包的AutoValue並收到錯誤“ AutoValue無法解析為類型”

我已經在pom.xml中添加了它

<!-- https://mvnrepository.com/artifact/com.google.auto.value/auto-value -->
<dependency>
    <groupId>com.google.auto.value</groupId>
    <artifactId>auto-value</artifactId>
    <version>1.2</version>
    <scope>provided</scope>
</dependency>

Java程序:

package xxxx;

import ------
import com.google.auto.value.AutoValue;

@AutoValue
@DefaultCoder(SerializableCoder.class)
public abstract class ABC{
  /**
   * Manually create a test row.
   */
  public static ABC create(List<Object> fields) {
    return new AutoValue_ABC(fields); //error is here
  }

  public abstract List<Object> fields();
}

我通過打開項目屬性,瀏覽到Java編譯器->注釋處理->工廠路徑,單擊“添加外部JAR”,然后選擇4個jar文件-auto-service-1.0-rc1.jar,嘗試了添加解決方案。 guava-16.0.1.jar,jsr-305-2.0.3.jar,auto-value-1.0-rc1.jar

還嘗試添加m2e-apt插件和Maven->“注釋處理”->選擇“自動配置JDT APT ...”

仍然出現錯誤“無法將AutoValue解析為類型”

有解決方案嗎? 提前致謝。

似乎您有點過時了。 自動值的最新版本是1.6.5。

您不僅需要導入自動值,還必須導入自動值注釋。 自動值的官方文檔中:

<dependency>
  <groupId>com.google.auto.value</groupId>
  <artifactId>auto-value-annotations</artifactId>
  <version>1.6.2</version>
</dependency>
<dependency>
  <groupId>com.google.auto.value</groupId>
  <artifactId>auto-value</artifactId>
  <version>1.6.2</version>
  <scope>provided</scope>
</dependency>

這就是您需要的Maven。 對於日食,您似乎已經看過Code Affine。 他們關於自動值的文章有些混亂。 您只需要自動值和自動值注釋。 番石榴,自動服務和jsr不需要與自動值一起使用。

至少,這對我有用。

暫無
暫無

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

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