NullPointerException с использованием getResource

Я пытаюсь создать приложение для распознавания лиц, следуя это руководство. Однако всякий раз, когда я запускаю приведенный ниже код, я получаю эту ошибку: Exception in thread "main" java.lang.NullPointerException

class DetectFaceDemo {
    public void run () {
        CascadeClassifier faceDetector = 
            new CascadeClassifier(getClass()
                  .getResource("/lbpcascade_frontalface.xml").getPath());
    }
}

Я должен скопировать файл xml в какой-то каталог?

Спасибо!


person Adriano Valente    schedule 10.09.2014    source источник
comment
Вы выполнили эту часть урока? Next, copy lbpcascade_frontalface.xml from opencv/data/ into the resources directory   -  person Stefan    schedule 10.09.2014
comment
Да! Он находится в каталоге C:\Users\Adriano\Documents\NetBeansProjects\LenaFaceDetection\build\classes\main\resources. Это правильный?   -  person Adriano Valente    schedule 10.09.2014
comment
Я считаю, что он должен быть расположен в C:\Users\Adriano\Documents\NetBeansProjects\LenaFaceDetection\build\classes\src\mai‌​n\resources. Я не уверен, должен ли он быть в каталоге build или classes.   -  person Stefan    schedule 10.09.2014


Ответы (2)


Из вашего комментария я думаю, что вы поместили свой main/resources в неправильный каталог (и вы забыли src часть дерева).

Из учебника у вас должна быть следующая структура: src/main/java/<Java packages or classes>

У вас уже есть папка src. Создайте каталог main в src и каталог resources в main. Поместите свой XML-файл в каталог resources, и все будет готово.

person Stefan    schedule 10.09.2014
comment
Спасибо за ответ! Я вставил C:\Users\Adriano\Documents\NetBeansProjects\LenaFaceDetection\src\lenafacedetection и (не знаю почему) это сработало! - person Adriano Valente; 10.09.2014
comment
@AdrianoValente: нет, не указывайте весь путь, потому что, если вы сделаете это, а затем попытаетесь использовать ресурс в банке, ваш жареный. Попробуйте предложение Стефана. - person Hovercraft Full Of Eels; 10.09.2014

Вставьте в код следующее, чтобы найти путь к классам, и скопируйте файлы xml и png в это место.

System.out.println(System.getProperty("java.class.path"));
person Rabah .LOUALI    schedule 23.03.2017