【发布时间】:2018-03-28 08:44:28
【问题描述】:
我正在尝试在我的 android studio 项目中实现我自己的注释处理器。一切运行良好并编译,直到我将这个简单的行添加到 build.gradle 依赖块:
dependencies {
.
.
.
annotationProcessor(':processor')
}
那时我在编译时收到此错误:
找不到:处理器:。要求: project :app 在 build.gradle 文件中搜索
我学习了无穷无尽的教程,但似乎没有任何帮助。我最近刚刚升级到 AS 3.1,并认为这可能是相关的?
这是项目结构:(请注意 - 在这里我将注释处理器添加为 jar 文件。我还附加了一个图像,试图将其作为不同的模块和相同的结果)
这是一个不同的我正在尝试添加它 - 在同一个项目中使用不同的模块创建注释处理器,但仍然不行:
图片中的一些额外信息... 项目结构:
app.build:
processor.build:
注释:
主活动:
处理器实现:
【问题讨论】:
-
从屏幕截图看来,您的项目中的任何位置都没有
processor目录。子项目源代码存放在哪里?您应该将源代码放在 gradle 项目树中,否则':subprojectname'依赖项将不起作用。 -
我的处理器是我在另一个项目中创建的 jar 工件。它不在子模块内
-
然后删除
annotationProcessor(':processor')行。使用annotationProcessor声明对libs/processor.jar的另一个 依赖。我假设您的 jar 包含注释/库和处理器,不是吗?在这种情况下,必须在同一个工件上声明两个依赖项(annotationProcessor和implementation或annotationProcessor和compileOnly)是正确的做法。 -
你能举个语法例子吗?
-
我添加了一个不同尝试的图像 - 处理器作为模块实现,但仍然没有。
标签: java android annotation-processing annotation-processor