Search code examples
javajakarta-eetomcatjbossappserver

Reading an image packaged in the same war in Jboss eap 6.1


I have a Spring webservice which is deployed as a war in Jboss-eap-6.1.

The code needs to read an image at run time. Iam trying to package the image with the war and deploy it in Jboss.

I make sure that the image is put in /WEB-INF/classes directory of the war. I am trying to read the image this way in the code:

final String path = this.getClass().getClassLoader().getResource("jeffmor.jpg").getPath(); 
File noImage = new File(path);

But the code is not able to pick this image up. If I do a System.out.println in the value of path, it comes as

/content/Service.war/WEB-INF/classes/jeffmor.jpg

Iam not sure whERE the '/content' part got added from? Why is the code not able to pack the image packaged in the war and is there any better way for the code to read a file that is packaged in its own war in Jboss eap 6.1.


Solution

  • Application server can deploy your archive without unpacking them. You should be using so -

    java.lang.ClassLoader.getResourceAsStream("jeffmor.jpg");
    

    Addition.

    Your call return a URL of object.

    See Also