Не может прочитать файл из META-INF

У меня большая проблема, делающая что-то действительно глупое. То есть откройте поток для файла ресурсов в моей папке META-INF. Я работаю над инструментом jar и при этом:

InputStream schemaIS = this.getClass().getClassLoader().getResourceAsStream("/META-INF/schema.xsd");

Я просто получаю нуль! Проект построен с использованием maven, а файл xsd попадает в папку META-INF, но он все равно не работает.

Что я не понимаю, так это теория? Как классLoader выполняет поиск в файловой системе? Как я могу получить файл?

Ответ 1

Попробуйте удалить первую косую черту:

InputStream schemaIS = this.getClass().getClassLoader().getResourceAsStream("META-INF/schema.xsd");

Вам нужна ведущая косая черта, если вы вызываете метод getResourceAsStream для объекта Class. На объекте ClassLoader путь всегда является абсолютным, а ведущая косая черта не нужна.

Ответ 2

попробуйте этот путь: META-INF/schema.xsd (первый / опущен)