Два предыдущих ответа верны, но я хотел бы дать немного больше контекста.
Этот файл находится в двух местах.Он начинается в / src / main / resources и при сборке проекта Maven копирует его в /target/classes.
Во время выполнения вы не должны получать доступ к копии, которая находится в вашем исходном коде.В противном случае вашему программному обеспечению потребуется доступ к исходному коду для запуска.Скорее, вы должны получить доступ к копии, которая находится в вашем отчете.Во время выполнения вы можете смело предполагать, что найдете его на пути к классам.Он находится в том же месте, что и ваши скомпилированные классы, поэтому, если бы его не было в пути к классам, вы бы не смогли запустить программу.Вот почему вы должны использовать getResourceAsStream()
, как упоминали другие авторы.
(Хотя для производственного программного обеспечения я рекомендую абстракцию ресурсов Spring для доступа к этим вещам.)