Не может прочитать файл из 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
(первый /
опущен)