2012-02-22 31 views
6

Tôi đang làm việc trên một dự án phải chạy trên Java SE 5 và Java SE 6. Gần đây, tôi đã bắt đầu sử dụng công cụ thêm chú thích @Generated vào mã được tạo và tôi muốn giữ các chú thích đó. Có vẻ như javax.annotation.Generated nằm trong Java 5 EE và Java 6 SE and later, nhưng không có trong API Java 5 SE.Làm cách nào để thêm javax.annotation.Generated to Java SE 5?

Cách tốt nhất để bao gồm javax.annotation.Generated khi tôi gửi nó cho khách hàng, vì vậy nó sẽ chạy trên cả Java SE 5 và Java SE 6 mà không có bất kỳ vấn đề gì? Tôi chỉ cần bao gồm một jarfile thêm? Nếu vậy, cái nào hiện có ở chế độ @Generated?

Trả lời

11

Bạn có thể nhận được javax.annotation.Generated, cùng với các lớp khác từ gói đó, từ repo trung tâm Maven tại this location. Bạn chỉ có thể tải xuống các JAR, bạn không cần phải sử dụng Maven để lấy chúng.

Trả lời được phép của GrepCode.

+0

Cảm ơn! Điểm thưởng cho đầu GrepCode. – rob

+3

Nhờ @skaffman. Đối với một ** Gradle build ** dependency nên là 'compile 'org.glassfish: javax.annotation: 10.0-b28'' rồi. – JJD

+2

cũng có sẵn với 'biên dịch' javax.annotation: jsr250-api: 1.0'' – nicopico

4

Theo javax.annotation.Generated javadoc, lưu giữ của nó là Nguồn, do đó chú thích sẽ không được biên dịch vào các lớp của bạn (và các lớp kết quả có và không có chú thích này giống nhau). Vì vậy, khách hàng của bạn không bao giờ cần bất kỳ tệp jar nào chứa chú thích này, miễn là bạn phân phối các lớp được biên dịch.

+1

Cảm ơn thông tin bổ sung; thật tốt khi biết. Tôi đã bỏ qua đề cập đến nó trong câu hỏi, nhưng chúng tôi cũng cung cấp cho khách hàng nguồn phát hành này. – rob

1

Bạn chỉ có thể nhận xét chúng, chúng chỉ được giữ lại ở cấp nguồn.

+0

Chắc chắn là một giải pháp hợp lệ nếu tôi chỉ phải tạo mã một lần và không bao giờ nữa, nhưng tôi cũng lo ngại về bất kỳ vấn đề nào có thể khiến các nhà bảo trì trong tương lai không nhận ra họ chỉ cần lưu lại chú thích sau khi tạo lại mã. – rob

+0

Nếu bạn đang sử dụng nhật thực, bạn có thể thêm người xây dựng để loại bỏ hoặc nhận xét chúng bằng cách sử dụng sed chẳng hạn. Hoặc một kịch bản xây dựng sẽ hoạt động tốt như nhau. – MahdeTo

+0

Đúng, nhưng vẫn còn nhiều nỗ lực hơn là chỉ thêm jarfile. Cảm ơn cho giải pháp "bên ngoài hộp" mặc dù. :) – rob