I need to look up for an image present in src/main/resources
folder in a web application. Its an Apache CXF SAOP
based web application.
We are running it in a jboss env(jboss-eap-6.4)
After building the war, the same is deployed.
However, I am unable to get the correct path to the above file. Please suggest.
I have tried multiple options.
File logo= new File("src/main/resources/image.jpg");
logo.getAbsolutePath(); // This works great when Junit tested, however breaks with the server.
Neither does this works-
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
contextClassLoader.getResource("image.jpg").getPath();
Since you're using Maven, files from
src/main/resources
will end up on the classpath automatically.To load a resource from the classpath, use something like this:
Getting the path to the resource or opening it as a
File
may not always work though since the file is probably still stored inside a.war
file.class.getResource()
will therefore return aURL
that is recognizable only by the app server's classloader.