Принудительное предупреждение, когда класс не закрыт

Когда я работаю с классами ввода-вывода, такими как java.util.Scanner или java.io.BufferedReader, Eclipse отображает предупреждение Resource leak: 'suchAndSuch' is never closed. Как я могу заставить Eclipse отображать это предупреждение для моего собственного класса, когда он не закрыт?

Я хочу знать, есть ли интерфейс или что-то, что мне нужно реализовать, чтобы мой класс рассматривался как классы ввода-вывода, чтобы он не зависел от какой-либо одной IDE, например. командная строка javac также отображает предупреждение, когда ресурс не закрыт.


person jpyams    schedule 10.08.2015    source источник
comment
используйте подключаемый API процессора аннотаций stackoverflow.com/a/24981511/3651739   -  person Jishnu Prathap    schedule 10.08.2015
comment
Пробовали ли вы реализовать интерфейс java.io.Closeable в классе, о котором вы хотите, чтобы Eclipse предупреждал вас?   -  person JonK    schedule 10.08.2015
comment
Достаточно ли, чтобы ваш класс реализовал java.io.Closeable? См. help.eclipse.org/mars/ .   -  person Andy Thomas    schedule 10.08.2015
comment
@JonK Я сделал это однажды, но по какой-то причине это не сработало. Я предполагаю, что Eclipse не проверяет, закрыт ли объект, если он передан другому методу.   -  person jpyams    schedule 10.08.2015


Ответы (1)


Eclipse выдает предупреждение «никогда не закрывается» для любого класса, реализующего 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
    }
person Evgeniy Dorofeev    schedule 10.08.2015