This week's book giveaway is in the Jobs Discussion forum.
We're giving away four copies of Customer Requirements for Developers and have Marcho Behler on-line!
See this thread for details.
The moose likes Tomcat and the fly likes Help with using getResourceAsStream() Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Customer Requirements for Developers this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Products » Tomcat
Bookmark "Help with using getResourceAsStream()" Watch "Help with using getResourceAsStream()" New topic

Help with using getResourceAsStream()

James Dekker
Ranch Hand

Joined: Dec 09, 2006
Posts: 221
Fellow Developers:

Here's my situation... I posted an earlier topic regarding my problem, but since then since the scenario regarding my problem has kind of changed, I decided to make a new thread (all apologies if this was an inappropriate action).

I changed my Ant build script to move the file into my WEB-INF/classes dir. Also, my log4j-1.2.9.jar gets moved inside my WEB-INF/lib dir. But for some odd reason, when I run Tomcat, it doesn't seem to know where my file is! My Log4jInitServlet seems to have the path wrong!

It looks inside:


instead of:


Furthermore, it throws a NullPointerException but at the same time, right afterwards, it logs my XmlConfigInitServlet (I have it set

Here's what my console says:

My Log4jInitServlet:

My web.xml:

My XmlConfigInitServlet class (as you can see that I am still using getRealPath()) but will change it when I get my Log4jInitServlet properly set up. For some odd reason, its logging what I have put in here into my Tomcat's console. How could this be if Tomcat complained that it couldn't find my file?

Here's the contents of my file located under mywebapp/WEB-INF/classes:

From the looks of everything, obviously there's a pathing issue in my Log4jInitServlet but I still don't understand how it can successfully log my XmlConfigServlet if my is supposed to be unavailable?! Why is it throwing an NullPointerException?

Can anyone suggest a better way to use getResourceAsStream()? What I am trying to do is set my undeployWars to false in server.xml so that Tomcat can read my file and my xml config file (attributes-config.xml) from within the war file.

Sincerely yours and happy holidays,

James Dekker

[ December 22, 2006: Message edited by: James Dekker ]
[ December 22, 2006: Message edited by: Bear Bibeault ]
Paul Clapham

Joined: Oct 14, 2005
Posts: 19693

Is that the actual code you are running? Because I would expect this line of codeto be searching for a resource named "com.acme.mywebapp.logging.propFile". The most likely location for such a file would be in your WEB-INF/classes/com/acme/mywebapp/logging directory. (You seem to be using a constant string instead of a variable name, but your method of getting what's in that variable isn't going to work anyway.

What I would do is this: put the file in your WEB-INF/classes directory and use this line of code to access it...
James Dekker
Ranch Hand

Joined: Dec 09, 2006
Posts: 221

Thanks for the response!

I actually got it working (and when the undeployWars="false" in server.xml, it still works!), like this:

Now, the problem is... How do I make it so that the PropertyConfigurator would work with this?

If I un-comment out the lines of code which hold comments, I get this a NullPointerException:

Thank you for the response,

Ben Souther

Joined: Dec 11, 2004
Posts: 13410

Is this line 16?:

If so, why are you trying to read the absolute path name from a file that you can't find?

Why not just use the string value that you obtained with:
[ December 23, 2006: Message edited by: Ben Souther ]

Java API J2EE API Servlet Spec JSP Spec How to ask a question... Simple Servlet Examples jsonf
I agree. Here's the link:
subject: Help with using getResourceAsStream()
It's not a secret anymore!