我创建了一个使用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'
}
有人能指出我正确的方向吗?谢谢 !