Android项目不会运行依赖注释处理器

时间:2018-01-31 06:06:58

标签: java android maven gradle annotation-processing

我有一个包含2个模块的maven项目。其中一个模块包含注释处理器。当我尝试将项目作为android项目的依赖项导入时,它将不会运行注释处理器。找不到生成的类文件。

    implementation 'com.github.OmerUygurOzer.jet:jetcore:v1.0.9'
    annotationProcessor'com.github.OmerUygurOzer.jet:jetprocessor:v1.0.9'

我从jitpack导入如上所示的项目。 jitpack上的构建成功,我也可以在本地访问代码,这意味着编译成功。但是应该生成的类不是。所以要么处理器没有触发,要么我生成的类在某种程度上位于错误的位置? android项目确实使用许多其他库与注释处理器,如Butterknife。所以这似乎只发生在这个特定的注释处理器上。

这是我得到的错误:

java.lang.ClassNotFoundException: Didn't find class "JetEventIndex" on 

path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
01-30 23:31:38.418 1469-1469/? W/System.err:     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
01-30 23:31:38.418 1469-1469/? W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-30 23:31:38.418 1469-1469/? W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
01-30 23:31:38.418 1469-1469/? W/System.err:     at com.jetcore.JetClassLoader.getConstructorForEventIndex(JetClassLoader.java:45)
01-30 23:31:38.418 1469-1469/? W/System.err:     at com.jetcore.JetClassLoader.createEventIndex(JetClassLoader.java:54)
01-30 23:31:38.418 1469-1469/? W/System.err:     at com.jetcore.JetDock.<init>(JetDock.java:21)

编辑:

我尝试将模块的包装类型更改为jar,但仍然没有。我的注释处理器不会触发。

项目链接在这里以防任何人想要检查pom文件:https://github.com/OmerUygurOzer/Jet

Gradle版本4.1 Android插件3.0.1

2 个答案:

答案 0 :(得分:0)

似乎版本1.0.9不可用。 Git页面有版本1.0.4。请尝试使用1.0.4

https://github.com/OmerUygurOzer/Jet

答案 1 :(得分:0)

尝试这样做:

1.在存储库末尾的根build.gradle中添加它:

allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

2.添加依赖

dependencies {
            compile 'com.github.OmerUygurOzer.jet:jet:v1.0.9'
    }