2015-02-11 192 views
49

我的android项目和lombok 1.16.0一起生成,但是一旦我将依赖关系更改为目标1.16.2,我在任何地方都会收到以下错误,用龙目注解L:错误:升级到lombok后软件包javax.annotation不存在1.16.2

Error:(20, 1) error: package javax.annotation does not exist

Android的SDK并不包括所有javax包。我想知道的是,如果这是1.16.2中的错误,还是现在不得不添加对javax.annotation的依赖关系?

注:这是Android Studio中与龙目岛的插件0.8.8

回答

90

您可以通过将以下行的lombok.config文件在您的项目的顶级目录中禁用的javax.annotation.Generated产生:

lombok.addGeneratedAnnotation = false 

查看configuration documentation了解更多信息。

披露:我是Lombok开发人员。

+0

谢谢,这解决了它。伟大的工作btw :) – copolii 2015-02-12 20:42:51

+1

龙目岛配置不存在或与Android Studio工作目前正确吗? – serkanozel 2015-09-29 21:30:07

+0

@RoelSpilker你是一名救生员。非常感谢Lombok,它是每个优秀开发人员工具包必备的! ;-) – 2016-04-01 10:56:31

23

如果您使用gradle这个面临着同样的问题,Android Studio中 - 添加以下行的build.gradle:

provided 'org.glassfish:javax.annotation:10.0-b28' 
+0

为什么'10.0-b28'与'3.1.1'或'3.2-b06'相反? 10.x似乎比其他版本多3年。 – 2015-06-22 16:48:54

+7

使用GlassFish依赖似乎并不正确。我更喜欢'编译'javax.annotation:jsr250-api:1.0' [此答案](http://stackoverflow.com/a/25090868/577062)。虽然'jsr250-api'相当老(2007)。注意:我使用的是Dagger 2,而不是Lombok。 – anon 2015-07-09 15:21:35

-2

今天Android开发正确的答案是使用一个版本的匕首,它大于2.1(因为@tomrozb提到的fix被集成在2.1中)

+0

这是一个龙目岛问题,而不是一个匕首问题 – Zoe 2017-09-24 15:07:26

相关问题