在我的 Android 应用程序中,我有一个注释处理器,它使用生成的文件JavaPoet
并将它们放在包 generate.schema 下。
文件生成正确。每当我像这样使用生成的文件时
GeneratedFile.someGeneratedMethod();
我收到以下错误:
error: package generated.schema does not exist.
但是如果我包含完全限定的类名而不是像这样导入
generated.schema.GeneratedFile.someGeneratedMethod();
代码编译并运行没有任何错误。
我不想在每次使用GeneratedFile
. 我不确定我做错了什么,因为我仍在学习使用Annotation Processor。
其他库(包括 Realm、DataBinding)生成的文件都按预期正常工作。
文件生成:
使用 JavaPoet 我运行以下代码。
if (roundEnvironment.processingOver()) {
for (TypeElement element : apiList) {
TypeSpec clazz = generateFile(element);
JavaFile.builder(NamespaceCreator.generateClassPackage(element), clazz)
.build()
.writeTo(filer);
}
}
NamespaceCreator.generateClassPackage(element)
class
返回ie的包名generated.schema
。