gpt4 book ai didi

java - 错误: package generated.架构不存在

转载 作者:行者123 更新时间:2023-12-02 04:09:41 25 4
gpt4 key购买 nike

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

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

GeneratedFile.someGeneratedMethod();

我收到以下错误:

error: package generated.schema does not exist.

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

generated.schema.GeneratedFile.someGeneratedMethod();

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

我不想每次使用 GenerateFile 时都添加完整的包。我不确定我做错了什么,因为我仍在学习使用注释处理器

其他库(包括 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 的包名称,即 generated.schema

最佳答案

在生成类时,我正在等待最后一次处理。封装的代码生成

if (roundEnvironment.processingOver())

我因此收到警告:

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

在发布问题之前我就意识到了这个警告,但是为了简单地一次性生成所有文件,我愿意忽略对生成的文件的进一步注释处理。

尽管如此,在从文件生成中删除最后一轮/通过检查后,我可以正确(通过导入)访问生成的文件,而不会出现任何错误;我仍然不明白在所有轮次中生成文件如何影响在使用 import 构建期间访问文件。

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

关于java - 错误: package generated.架构不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56698084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com