2015-08-10 21 views
8

Khi tôi làm việc với các lớp IO như java.util.Scanner hoặc java.io.BufferedReader, Eclipse sẽ hiển thị cảnh báo Resource leak: 'suchAndSuch' is never closed. Làm thế nào tôi có thể làm cho Eclipse hiển thị cảnh báo này cho lớp của riêng tôi khi nó không bị đóng? Điều tôi muốn biết là nếu có Giao diện hoặc thứ gì đó tôi cần triển khai để làm cho lớp của tôi được xử lý như các lớp IO, vì vậy nó độc lập với bất kỳ một IDE nào, ví dụ: dòng lệnh javac cũng hiển thị cảnh báo khi tài nguyên không bị đóng.Cảnh báo về lực khi lớp không được đóng

+1

sử dụng Chú Pluggable Processor API http://stackoverflow.com/a/24981511/3651739 –

+2

Các bạn đã thử thực hiện giao diện 'java.io.Closeable' trong lớp mà bạn muốn Eclipse cảnh báo bạn về? – JonK

+0

Có đủ để lớp của bạn triển khai 'java.io.Closeable'? Xem http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-avoiding_resource_leaks.htm. –

Trả lời

2

Eclipse cung cấp cho cảnh báo "không bao giờ đóng cửa" đối với bất kỳ lớp mà thực hiện java.io.Closeable

class X implements Closeable { 
    @Override 
    public void close() throws IOException { 
    } 
} 

... 
    public static void main(String[] args) throws IOException { 
     X x = new X(); <-- Eclipse warning 
    } 
Các vấn đề liên quan