Search code examples
javaclasspathvelocity

getClass().getClassLoader().getResourceAsStream() is caching the resource


I have a resource (velocity template) which I'd like to be able to swap during development. However,

getClass().getClassLoader().getResourceAsStream() 

seems to cache the template. Is there a way to disable this besides using a file loader instead of the class loader?


Solution

  • To avoid caching you can use:

    getClass().getClassLoader().getResource().openStream()
    

    It would be equal to using URLResourceLoader for Velocity instead of ClasspathResourceLoader I suppose. I would just go with a file loader.