Подтвердить что ты не робот

GetClass(). getClassLoader(). getResourceAsStream() кэширует ресурс

У меня есть ресурс (шаблон скорости), который я бы хотел поменять во время разработки. Однако

getClass().getClassLoader().getResourceAsStream() 

похоже, кэширует шаблон. Есть ли способ отключить это, кроме использования загрузчика файлов вместо загрузчика классов?

4b9b3361

Ответ 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();
}