GetClass(). getClassLoader(). getResourceAsStream() кэширует ресурс
У меня есть ресурс (шаблон скорости), который я бы хотел поменять во время разработки. Однако
getClass().getClassLoader().getResourceAsStream()
похоже, кэширует шаблон. Есть ли способ отключить это, кроме использования загрузчика файлов вместо загрузчика классов?
Ответы
Ответ 1
Чтобы избежать кэширования, вы можете использовать:
getClass().getClassLoader().getResource().openStream()
Он был бы равен использованию URLResourceLoader
для Velocity вместо ClasspathResourceLoader
, я полагаю. Я бы просто пошел с загрузчиком файлов.
Ответ 2
Посмотрите, помогает ли что-то подобное (обработка исключений опущена):
URL res = getClass().getClassLoader().getResource(resName);
if (res != null) {
URLConnection resConn = res.openConnection();
resConn.setUseCaches(false);
InputStream in = resConn.getInputStream();
}