2010-09-02 28 views
23

Trong dự án Eclipse của tôi là một số tệp .java được tạo mà tôi cần sử dụng cho SQLJ và tôi không thể chuyển sang một dự án riêng biệt (do Chi phí quản trị). Những tập tin này cũng được tái tạo thường xuyên để chỉnh sửa chúng thật không may.Làm cách nào để vô hiệu hóa cảnh báo trình biên dịch trong Eclipse trên cơ sở tệp cụ thể?

Thật không may, các tệp này tạo ra một vài trăm cảnh báo trình biên dịch java làm giảm các cảnh báo hữu ích mà tôi nhận được trên các tệp mà tôi thực sự có thể chỉnh sửa.

Có cách nào trong Eclipse để nói Bỏ qua tất cả các cảnh báo về cơ sở từng tệp không? Hoặc tôi có thể chặn một thư mục con cụ thể không?

Trả lời

15

Chế độ xem "sự cố" trong nhật thực có thể được lọc; Tôi luôn luôn đặt nó là "trên phần tử được chọn và chỉ các con của nó". Cấp, đây là nhiều hơn một công việc xung quanh, nhưng nó làm giảm tác động của việc có các tập tin trong cùng một dự án. (Lưu ý rằng ngay cả khi bạn phải có chúng trong cùng một dự án, bạn có thể giữ chúng trong một thư mục nguồn riêng biệt).

Chỉnh sửa: Để định cấu hình bộ lọc, hãy tìm biểu tượng có mũi tên hướng xuống bằng chú giải công cụ "Xem Menu" ở trên cùng bên phải của chế độ xem sự cố. Bấm vào nó, và sau đó bấm vào "cấu hình nội dung".

+1

Tôi đã thử lọc chế độ xem sự cố thành một bộ làm việc. Các "yếu tố được lựa chọn và con cái của nó chỉ" là khá ngọt ngào thực sự! – kutuzof

+0

Vui lòng làm rõ cách lọc chế độ xem sự cố. Nó không rõ ràng. – wberry

+0

@wberry: Xem chỉnh sửa. – meriton

2

Một cách để thực hiện việc này là thêm @SuppressWarning(...) chú thích vào mã nguồn.

Một cách khác là di chuyển mã phiền hà đến một dự án Eclipse riêng biệt và sử dụng các cài đặt trình biên dịch trên mỗi dự án.

EDIT

Chắc chắn, bạn có thể phân vùng mã của bạn vào nhiều dự án với các phụ thuộc liên dự án thích hợp?

Nếu không, tôi muốn nói rằng bạn đang ở ngoài các tùy chọn thực tế. (Nhưng nếu bạn muốn một số thứ không thực tế, bạn có thể xử lý mã được tạo ra để thêm các chú thích, hãy hack trình biên dịch Java Eclipse để thực hiện triệt tiêu từng tập tin, hack khung nhìn "Problems" của Eclipse để thực hiện lọc/lọc thư mục lỗi, v.v.)

+0

+1 "cài đặt trình biên dịch mỗi dự án". Điều mới học được !! – bdhar

+0

Yea đó là tốt. Vấn đề là các tệp SQLJ thường xuyên được tạo mới (Bất cứ khi nào ai đó thay đổi SQL). Vì vậy, tất cả các @SuppressWarning (tất cả) biến mất sau đó. – kutuzof

9

@SuppressWarningannotation?

mỗi, bình luận Stephen, bạn có thể tìm thấy "mỗi dự án thiết lập trình biên dịch tùy chọn ở đây"

dự án-> Properties-> Java Compiler-> lỗi/cảnh báo

Enable cài đặt cụ thể dự án

alt text

+0

Tốt quá. Vấn đề là các tệp SQLJ nằm trong cùng một dự án và nhiều cảnh báo hữu ích cho các tệp khác. Tôi cần một tập tin cài đặt cụ thể ... – kutuzof

+0

Javadoc cho '@ SuppressWarning' không phải là rất hữu ích để hiểu làm thế nào để sử dụng nó. Nó thiếu ví dụ. – dolmen

+0

Tài liệu Eclipse về '@ SuppressWarning' chi tiết hơn. Xem câu trả lời của riêng tôi. – dolmen

0

Nếu bạn muốn ẩn cảnh báo về một lớp học hoặc trên một phương pháp, xem tài liệu Eclipse trên @SuppressWarnings annotation hoặc Java documentation

Ví dụ:

@SuppressWarnings("unused") 
public void foo() { 
    String s; 
} 
+0

Điều này không hoạt động vì các tệp được tạo thường xuyên. Vì vậy, mỗi lần tôi phải thêm @SuppressWarning bằng tay cho hàng chục tệp. – kutuzof

16

Đảm bảo các tập tin dưới thư mục gen, các nhà điển hình cho tất cả các tệp .java được tạo. Sau đó, trong thuộc tính dự án, theo Đường dẫn xây dựng Java, hãy đặt Bỏ qua các sự cố biên dịch tùy chọn cho thư mục đó thành .

Nếu cấu trúc dự án của bạn yêu cầu tệp của bạn nằm trong một thư mục khác ngoài gen, hãy thêm thư mục đó vào Đường dẫn xây dựng Java để bạn có thể bật bỏ qua các sự cố biên dịch tùy chọn cho nó.

+0

Rất hữu ích. Điều này có vẻ là những gì OP yêu cầu, và tôi cần thiết như vậy. – StellarVortex

+2

đây là câu trả lời cho câu hỏi – mvera

+0

Tôi tin rằng đây cũng là câu trả lời cho câu hỏi của OP. Để sử dụng phương pháp này với một dự án Maven, tôi gửi tất cả các tệp được tạo tới src/main/gen và sử dụng giải pháp Edwards. – bigleftie

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