[英]error: package generated.schema does not exist
在我的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
的包名稱,即generated.schema
。 在生成類時,我正在等待最后的處理。 封裝的代碼生成
if (roundEnvironment.processingOver())
因此,我收到警告:
在上一輪創建的類型為“ generated.schema.GeneratedFile”的文件將不進行注釋處理。
在發布問題之前,我已經意識到了這一警告,但是為了簡化一次性生成所有文件的過程,我願意忽略對生成文件的進一步注釋處理。
即使從文件生成中刪除了最后一個回合/通過檢查之后,我也可以正確(帶有導入)訪問生成的文件而沒有任何錯誤; 我仍然不明白在使用import
構建過程中,全面生成文件如何影響訪問文件。
為此,我將發布一個新問題 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.