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);
}
}
NamespaceCreator.generateClassPackage(element)
returns class
的包名即 generated.schema
.
在生成 类 时,我正在等待最后一次处理。
封装的代码生成
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。
在我的 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);
}
}
NamespaceCreator.generateClassPackage(element)
returnsclass
的包名即generated.schema
.
在生成 类 时,我正在等待最后一次处理。
封装的代码生成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。