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