2011-11-09 47 views
5

Có cách nào để chỉ nhận xét tất cả các @Overrides hóa ra là lỗi Eclipse ngăn ứng dụng của bạn xây dựng/chạy không?Loại bỏ tất cả các lỗi @Override trong Eclipse?

+0

(Khác hơn là tìm kiếm tất cả 234234 trường hợp theo cách thủ công ..) – ina

+2

Tại sao bạn muốn xóa quá nhiều ghi đè? Thông thường, Ghi đè cho bạn biết rằng có điều gì đó sai với chữ ký của phương thức của bạn ... việc xóa các Ghi đè do đó thường loại bỏ cảnh báo, không phải vấn đề. –

+0

là chúng có lỗi (màu đỏ) hoặc cảnh báo (màu vàng)? nếu chúng là những màu đỏ, sau đó loại bỏ chúng sẽ không giúp xây dựng ứng dụng của bạn, các phương pháp mà bạn đang ghi đè sẽ cần phải được sửa đổi –

Trả lời

7

Trong

Window-> Preferences-> Java-> Compiler-> lỗi/cảnh báo

Có một nhóm gọi là "Annotations". Theo đó, kiểm tra xem các

"Thiếu '@ Override' chú thích được đặt thành 'Bỏ qua' hay 'Cảnh báo' chứ không phải 'Lỗi'

Edit:. Tôi muốn nói thêm rằng bạn có thể nhận được Eclipse để tự động thêm chú thích @Override trên các tập tin mà bạn lưu trong Save Actions.

Window-> Preferences-> Java-> tổng biên tập> Save Actions

có một hộp kiểm cho "Additional Actions" và nếu bạn mở "Configure "cửa sổ, bạn có thể chọn tab" Missing Code "và chọn" Add Missing Annotations "nơi bạn có thể chọn chú thích để tự động thêm.

+0

Điều này có vẻ là thiếu Ghi đè, nhưng không chỉ bỏ qua các Ghi đè có anyway – ina

10

Vì vậy, nếu tôi hiểu bạn đã có chú thích @Override trong mã nguồn của bạn, nhưng bạn đang nhận được lỗi biên dịch trên chúng?

Nếu bạn đã cài đặt jdk sai.

Bạn cần ít nhất jdk1.5 để sử dụng các chú thích đó trên các phương thức có nguồn gốc từ các lớp học.

Bạn cần ít nhất jdk1.6 để sử dụng các chú thích đó trên các phương thức có nguồn gốc từ giao diện.

+1

+1 cho điều đó. Sử dụng Java 5 thay vì 6 và nhận được một loạt lỗi vì @Override trên các phương thức giao diện được triển khai là trường hợp thường xảy ra nhất. –

+0

Tôi đang sử dụng 1,6 theo java -version - Java (TM) SE Runtime Environment (xây dựng 1.6.0_26-b03-384-10M3425) Java HotSpot (TM) Máy chủ 64-Bit VM (xây dựng 20.1-b02-384, hỗn hợp mode) – ina

1

Tôi cho rằng bạn đang biên dịch chống lại Java 1.5 trở xuống, nơi trình biên dịch xử lý chú thích @Override của các phương thức giao diện dưới dạng lỗi.

Sử dụng Eclipse để tìm kiếm và thay thế (xóa) tất cả các phiên bản của "@Override". Sau đó, thêm lại các ghi đè không giao diện bằng cách sử dụng "Clean Up".

bước:

  1. Chọn dự án hay các thư mục chứa các file nguồn của bạn.
  2. Đi tới "Tìm kiếm> Tìm kiếm ..." (Ctrl-H) để hiển thị hộp thoại Tìm kiếm.
  3. Chuyển đến tab "Tìm kiếm tệp".
  4. Nhập "@Override" trong "Chứa văn bản" và "* .java" trong "Mẫu tên tệp". Nhấp vào "Thay thế ...", sau đó "OK" để xóa tất cả các phiên bản của "@Override".
  5. Đi tới "Cửa sổ> Tùy chọn> Java> Kiểu mã> Dọn sạch" và tạo cấu hình mới.
  6. Chỉnh sửa tiểu sử và bỏ chọn mọi thứ ngoại trừ "Thiếu mã> Thêm chú thích bị thiếu> @Override". Đảm bảo rằng "Triển khai phương thức giao diện" không được chọn.
  7. Chọn dự án hoặc thư mục chứa tệp nguồn của bạn.
  8. Chọn "Nguồn> Dọn dẹp ..." (Alt + Shift + s, rồi u), rồi "Kết thúc" để thêm lại các ghi đè không giao diện.
1

Tôi có Java 8 trên hệ thống của mình và phải đối mặt với cùng một vấn đề trong nhật thực. Vấn đề là vì JDK Tuân là 1,5

Dưới đây là cách tôi cố định nó

mở Eclipse, Preference -> Java -> Compiler -> JDK Compliance

Thay đổi nó để 1.6

+0

nhờ nó hoạt động cho vấn đề của tôi là Java 1.5 –

+0

Vì một số lý do lạ này không hoạt động đối với tôi ... nó đã được đặt thành Java 8 nhưng nó vẫn không cho phép tôi sử dụng @Override, hoạt động như nó 1.5. –

+0

Hóa ra tôi phải đặt thuộc tính này ở cấp độ dự án, không chỉ mức độ ưu tiên nhật thực toàn cầu. –

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