Загрузка ресурсов из JAR
При доступе к ресурсам, встроенным в JAR-архив, разработчики обычно сталкиваются с несоответствием пути к ресурсу, полученного во время IDE выполнении и при запуске приложения через JAR. В контексте IDE доступ к ресурсам осуществляется непосредственно из файловой системы, тогда как в среде JAR путь резко украшен префиксом архива (например, «jar:/root/app.jar!/»).
Чтобы решить эту проблему и обеспечить согласованный механизм доступа к ресурсам, прислушайтесь к следующим советам:
Используйте getResourceAsStream
Избегайте соблазна загружать ресурсы с помощью FileInputStream или аналогичных подходов. Вместо этого используйте метод getResourceAsStream() для получения ресурса в виде входного потока, из которого можно удобно читать данные.
Избегайте прямого доступа к файловой системе
Если ваш код полагается на доступ к ресурсам как к отдельным файлам, хранящимся в файловой системе, воздержитесь от упаковки этих ресурсов в файл JAR. Рассмотрите альтернативный вариант, например сохранение их в виде отдельных файлов.
Рассмотрите возможность извлечения временных файлов
В крайнем случае, вы можете изучить хакерское решение, включающее следующие шаги. :
Хотя этот подход может быть функциональным, его бессистемный характер предполагает, что его следует использовать осторожно.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3