缺少Android javax.annotation.processing包
我想基于以下链接中的示例进行一些注释处理: 然而,我想在我的Android项目中实现这一点,似乎我无法在Android平台上使用该软件包。我是否需要添加一个外部jar,还是缺少什么缺少Android javax.annotation.processing包,android,annotations,annotation-processing,Android,Annotations,Annotation Processing,我想基于以下链接中的示例进行一些注释处理: 然而,我想在我的Android项目中实现这一点,似乎我无法在Android平台上使用该软件包。我是否需要添加一个外部jar,还是缺少什么 谢谢。Android中不包含javax.annotation.processing包,但Android虚拟机团队介绍了如何包含额外的javax包-这可能适用于您的问题。如果您使用Android Studio/Gradle,有一种更简单的方法 我通过查看问题的答案发现: 对于渐变构建,依赖项应该是 编译'org.gla
谢谢。Android中不包含
javax.annotation.processing
包,但Android虚拟机团队介绍了如何包含额外的javax
包-这可能适用于您的问题。如果您使用Android Studio/Gradle,有一种更简单的方法
我通过查看问题的答案发现:
对于渐变构建,依赖项应该是
编译'org.glassfish:javax.annotation:10.0-b28'
Android中不包含javax.annotation.processing包。您不需要在编译的应用程序模块中包含此内容。在构建期间,编译器/处理器模块只需要此依赖项。因此,在应用程序的build.gradle
中,在包含注释处理器后,应添加以下内容:
provided 'org.glassfish:javax.annotation:10.0-b28'
只需添加compile'javax.annotation:javax.annotation api:1.2'就可以了
有关所有可用版本,请参见此处:我在butterknife中找到了一种方法。将此添加到
build.gradle
:
compile files(org.gradle.internal.jvm.Jvm.current().getJre().homeDir.getAbsolutePath()+'/lib/rt.jar')
compileOnly'org.glassfish:javax.annotation:10.0-b28'对于kotlin DSL您需要使用
compileOnly(“org.glassfish:javax.annotation:10.0-b28”)
对于groovy DSL您需要使用
compileOnly'org.glassfish:javax.annotation:10.0-b28'
谢谢,这看起来正是我需要的!无法查看链接的解决方案。这就是为什么我们应该引用/复制/引用而不是普通链接更新链接以供参考。作为记录,链接指南使用了旧版本的Android(带有Ant构建脚本);你可能想在其他答案中找到gradle解决方案。你的URL被重新定向到这是邪恶的。通过这种方式,您将整个jre添加为dependencyConfiguration“provided”已过时,并已替换为“compileOnly”javax.annotation。处理
也不在此Glassfish依赖项中。它有正确的注释,但是在javax.annotation
package中。工作起来很有魅力!