尝试使用package com.google.auto.value.autovalue在我的java类中的autovalue,并获得错误"自动娃娃无法解决为" "/p>
我在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编译器 ->注释处理 ->出厂路径,单击"添加外部罐子",然后选择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 ..."
仍然获取Errror "自动Voverue无法解决到类型"
有什么解决方案?预先感谢。
似乎有点过时。自动价值的最新版本为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>
这就是您所需要的。对于Eclipse,您似乎已经看过代码仿射。他们关于自动价值的文章有些混乱。您只需要自动价值和自动价值通知即可。Guava,Auto-Service和JSR不需要与自动价值一起使用。
至少这对我有用。