Ресурсы в файле .jar не являются файлами в том смысле, что ОС может обращаться к ним напрямую через обычные API доступа к файлам.
И поскольку java.io.File
представляет именно такой тип файла (то есть вещь, которая выглядит как файл для ОС), его нельзя использовать для ссылки на что-либо в файле .jar.
Возможный обходной путь - извлечь ресурс во временный файл и сослаться на него с помощью File
.
Обратите внимание, что обычно API, которые пытаются обрабатывать файлы, должны быть написаны так, чтобы обрабатывать InputStream
/ OutputStream
, чтобы позволить этому типу операций преуспеть.