2015-02-11 212 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

相關問題