Javac 在存在依赖项时找不到符号错误



我收到以下错误 - 抱歉,如果这是相当基本的,我对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(

最新更新