this.getClass (). getResource (). openStream ("file.xls") возвращает исключение NullPointerException (проект MAVEN) - PullRequest
0 голосов
/ 12 июня 2019

У меня есть проект Maven, на котором я запускаю тесты, и они не будут успешно завершены. Проблема в том, что тест возвращает NullPointerException при попытке загрузить файл (что, по моему мнению, связано с неправильным путем к файлу, но по какой-то причине я не могу понять его правильно).

Вот местоположение моего файла test.java:

C: _MY_PROJECTS \ P1 \ Ствол \ P1 \ Modules \ P1-Обще \ P1-ядро \ SRC \ тест \ Java \ си \-л \ P1 \ тест

Здесь я храню ресурсы:

C: _MY_PROJECTS \ P1 \ Ствол \ P1 \ Modules \ P1-Общин \ P1 сердцевиной \ SRC \ Test \ ресурсы

Я что-то здесь упускаю? Раньше он работал на Ant - теперь, когда я реструктурировал проект для Maven, я не могу заставить его работать ...

код:

@Test
  public void massImportGDTest_2() throws IOException {
    InputStream in = this.getClass().getResource("resources/gd_mass.xls").openStream();
    CAopParserMass parser = new CAopParserMass(in);
    CInfo[] result = parser.parse();
    assertEquals(11, result.length);        
  }   

При выполнении теста возвращается исключение NullPointerException, я полагаю, причина неправильного пути к файлу? Любое понимание по этому вопросу?

Заранее спасибо, Bg

1 Ответ

0 голосов
/ 12 июня 2019

У меня есть документ на C: \ Users \ MyProfile \ Documents \ MyProject \ Repo \ java-platform \ src \ main \ resources \ reports

И этот прогон для меня:

java.io.InputStream in = this.getClass().getResource("/reports/gd_mass.xls").openStream();

Измените "/" на "\", и, возможно, нет необходимости указывать "ресурсы", потому что он начинается оттуда.Попробуйте это:

InputStream in = this.getClass().getResource("/gd_mass.xls").openStream();
...