2015-02-11 20 views
49

Dự án android của tôi xây dựng tốt với lombok 1.16.0, nhưng khi tôi thay đổi sự phụ thuộc của mình thành mục tiêu 1.16.2, tôi nhận được lỗi sau ở mọi nơi ' Tôi đang sử dụng một chú thích Lombok:Lỗi: gói javax.annotation không tồn tại sau khi nâng cấp lên lombok 1.16.2

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

Android SDK không bao gồm tất cả các gói javax. Những gì tôi tự hỏi là nếu đây là một lỗi trong 1.16.2 hoặc bây giờ tôi phải thêm một phụ thuộc vào javax.annotation?

Lưu ý: Đây là trong Android Studio với Lombok Plugin 0.8.8

Trả lời

90

Bạn có thể vô hiệu hóa việc tạo ra javax.annotation.Generated bằng cách đặt dòng sau trong một file lombok.config trong một trong các thư mục trên cùng của dự án của bạn:

lombok.addGeneratedAnnotation = false 

Xem configuration documentation để biết thêm thông tin.

Tiết lộ: Tôi là nhà phát triển Lombok.

+0

Cảm ơn, đã sửa nó. Công việc tuyệt vời btw :) – copolii

+1

Cấu hình Lombok không tồn tại hoặc hoạt động với Android Studio hiện tại phải không? – serkanozel

+0

@RoelSpilker Bạn là một người cứu cánh. Cảm ơn rất nhiều về Lombok, đó là điều cần có trong mọi bộ công cụ phát triển tốt! ;-) –

23

Nếu bạn đang phải đối mặt với cùng một vấn đề trong Android Studio sử dụng gradle - thêm dòng sau vào build.gradle:

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

Tại sao «10,0-b28' trái với' 3.1.1' hoặc '3.2-b06'? 10.x có vẻ là 3 năm _older_ so với các phiên bản khác. –

+7

Sử dụng phụ thuộc GlassFish có vẻ không đúng. Tôi thích 'biên dịch 'javax.annotation: jsr250-api: 1.0' cho mỗi [câu trả lời này] (http://stackoverflow.com/a/25090868/577062). Mặc dù, 'jsr250-api' khá cũ (2007). Lưu ý: Tôi đang sử dụng Dagger 2, không phải Lombok. – anon

-2

Câu trả lời thích hợp cho phát triển Android hiện nay là sử dụng một phiên bản của dao găm mà lớn hơn 2.1 (vì số fix được đề cập bởi @tomrozb được tích hợp trong 2.1)

+0

Đây là vấn đề lombok, không phải vấn đề về dao găm – Zoe

Các vấn đề liên quan