We're using Eclipse and Maven. I've got some unit tests for a web application (war packaging), and I'd like to pull in web.xml for an in-memory servlet container (servletunit). I was being really deeply and exceedingly lazy and using:

    new File("./src/webapp/web.xml");

This smacks of ‘the wrong way to do it’ to me, but it was sufficient for the task at hand.

And it worked fine under Eclipse, but then I went to mvn test before committing; to my disappointment, Maven runs the unit tests relative to the parent pom, more often than not, so I can't use a relative path. After some research I tried this instead:

Thread.getContextClassLoader().getResourceAsStream("/WEB-INF/ web.xml");

That gets me no love, though. Am I using the wrong path? I've tried several different methods of getting class loaders, and several different path names, but to no avail. Is anyone else doing this? And please forgive any naiveté regarding Java resource handling. :)

In the meantime, I'm hardcoding the servlet mappings.

— G

Reply via email to