4

我创建了一个使用JavaPoet生成类的 Android 库。它适用于我的本地工作区;即使我将库模块包含到另一个项目中。

现在我正在尝试通过 bintray 将我的项目放到网上。该项目已正确上传,但是当我将其包含在新项目中并构建项目时,我收到以下消息:

错误:错误的服务配置文件,或构造处理器对象时抛出异常:javax.annotation.processing.Processor:提供程序 me.aflak.filter_processor.FilterProcessor 无法实例化:java.lang.NoClassDefFoundError:com/squareup/javapoet/TypeName

我想这来自我管理依赖项的方式......编译时,运行时的东西......

这是处理器build.gradle :

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation project(':filter-annotation')

    api 'com.squareup:javapoet:1.9.0'
    compile 'com.google.code.gson:gson:2.8.1'
    compile 'com.google.auto.service:auto-service:1.0-rc3'
}

这是注释buid.gradle :

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.google.code.gson:gson:2.8.1'
}

这就是我将库包含在一个空项目中的方式:

// build.gradle project
repositories {
    maven{
        url 'https://dl.bintray.com/omaflak/maven'
    }
}

// build.gradle module
dependencies {
    compile 'me.aflak.libraries:filter-annotation:1.0'
    annotationProcessor 'me.aflak.libraries:filter-processor:1.0'
}

有人能指出我正确的方向吗?谢谢 !

4

1 回答 1

4

我终于得到了解决方案(虽然有点随机:p)。

我必须添加mavenLocal()库模块。

于 2017-09-13T16:29:50.680 回答