error: package generated.schema does not exist

error: package generated.schema does not exist

在我的 Android 应用程序中,我有一个注释处理器,它使用 JavaPoet 生成文件并将它们放在包 generated.schema.

文件生成正确。每当我像这样使用生成的文件时

GeneratedFile.someGeneratedMethod();

我收到以下错误:

error: package generated.schema does not exist.

但是如果我包含完全限定的 class 名称而不是像这样导入

generated.schema.GeneratedFile.someGeneratedMethod();

代码编译 运行s 没有任何错误。

我不想每次使用时都添加完整的包 GeneratedFile。我不确定我做错了什么,因为我仍在学习使用 Annotation Processor

包括 Realm、DataBinding 在内的其他库生成的文件都按预期正常工作。

文件生成:

使用 JavaPoet I 运行 下面的代码。

if (roundEnvironment.processingOver()) {
    for (TypeElement element : apiList) {
        TypeSpec clazz = generateFile(element);

        JavaFile.builder(NamespaceCreator.generateClassPackage(element), clazz)
                .build()
                .writeTo(filer);
    }
}

在生成 类 时,我正在等待最后一次处理。

封装的代码生成
if (roundEnvironment.processingOver())

我因此收到警告:

File for type 'generated.schema.GeneratedFile' created in the last round will not be subject to annotation processing.

我在发布问题之前就知道这个警告,但是我愿意忽略对我生成的文件的进一步注释处理,以便一次性生成所有文件。

尽管如此,在从文件生成中删除最后一个 round/pass 检查后,我可以正确地(通过导入)访问生成的文件而不会出现任何错误;我仍然不明白在 import.

构建过程中,在所有回合中生成文件如何影响访问文件

为此,我将发布一个新的 question