我收到以下错误 - 抱歉,如果这是相当基本的,我对Java不是很有经验。
javac -cp "/Users/myname/Desktop/Projects/Project/build_dir/jarname.jar" filename.java
filename.java:24: error: cannot find symbol
@JsonDeserialize(builder = Builder.class)
^
symbol: class Builder
好的,到目前为止一切顺利。
所以我查看了文件名.java的代码,并在第 24 行看到这个:
@JsonDeserialize(builder = Builder.class)
所以我有一个反序列化注释,用于构建器类(我认为(。
但是,在同一个文件filename.java中,有一个生成器类:
@JsonPOJOBuilder
public static class Builder {
这到底是怎么回事呢?只是它正在尝试编译并且不知道也在寻找 Builder 类吗?我如何让Javac"知道"还有一个构建器类?
再次抱歉,如果这是一个基本问题,但我在互联网上找不到太多关于它的信息。
编辑:由于有一些关于应用程序如何工作的问题,我在下面包含更多代码:
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@JsonDeserialize(builder = Builder.class)
public class DetailClass {
private DetailClass(Builder builder) {
...
}
...
@JsonPOJOBuilder
public static class Builder {
...
}
}
因此,据我所知,Builder 类是 DetailClass 的一种方法。
看起来 Builder 是一个内部类。要指向内部类,您应该在以下之前添加父类名:
@JsonDeserialize(builder = Builder.class(-> @JsonDeserialize(builder = DetailClass.Builder.class(