You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Shaun Campbell <sh...@virgin.net> on 2002/10/07 22:00:21 UTC

How to specify the location of a properties file.

I've got a servlet running under Tomcat and I need to read in the contents of a properties file.  There will be different properties files for each system specified using an init parameter.

I'm having problems reading this property file at the moment in my java class as the way I am doing it at the moment always looks where I started Tomcat from i.e the /bin directory.  I can specify a full path to the file but this is not very system independent and limits me to either Windows or Unix.

What I need is to specify the location of the file relative to the webapp directory.  I have tried the url class but it doesn't seem to work, or maybe it is working but looking in a different place to where my properties file is.

Can anyone suggest what I am doing wrong or provide any help on the use of urls in Tomcat?

Thanks


Shaun



Re: How to specify the location of a properties file.

Posted by Justin Ruthenbeck <ju...@nextengine.com>.
Niaz ...

The idea is to load the properties file like you would any other java 
resource at runtime ... this is (almost) always better, IMHO, than using 
something J2EE-specific like initialization parameters to a servlet.

The relevant code would look something like this:

InputStream inStream = this.getClass().getResourceAsStream("/my.props");
Properties props = new Properties(inStream);

or

Properties prop = new Properties();
prop.load(this.getClass().getResourceAsStream("/MyProperties.properties"));

There was a thread some time ago that went over this.  You can see the 
details at:
http://www.mail-archive.com/tomcat-user@jakarta.apache.org/msg63518.html

Hope this helps...
justin


At 01:40 PM 10/7/2002, you wrote:
>Justin,
>
>I am facing the same problem. Your approach seems to be an elegent one.
>Would you mind eleborating on the idea a little bit more. Some code snippet
>would definitely be helpful.
>
>I thank you in advance.
>
>niaz.
>----- Original Message -----
>From: "Justin Ruthenbeck" <ju...@nextengine.com>
>To: "Tomcat Users List" <to...@jakarta.apache.org>
>Sent: Monday, October 07, 2002 4:06 PM
>Subject: Re: How to specify the location of a properties file.
>
>
> >
> > Shaun --
> >
> > Consider dynamically loading the properties file from your classpath using
> > a class loader.  This way, you can put the files anywhere you please and
> > just include that directory in your classpath (or put them someplace
> > already in your classpath).  If you need more specifics, let me know and
> > I'd be happy to help...
> >
> > justin
> >
> > At 01:00 PM 10/7/2002, you wrote:
> > >I've got a servlet running under Tomcat and I need to read in the
>contents
> > >of a properties file.  There will be different properties files for each
> > >system specified using an init parameter.
> > >
> > >I'm having problems reading this property file at the moment in my java
> > >class as the way I am doing it at the moment always looks where I started
> > >Tomcat from i.e the /bin directory.  I can specify a full path to the
>file
> > >but this is not very system independent and limits me to either Windows
>or
> > >Unix.
> > >
> > >What I need is to specify the location of the file relative to the webapp
> > >directory.  I have tried the url class but it doesn't seem to work, or
> > >maybe it is working but looking in a different place to where my
> > >properties file is.
> > >
> > >Can anyone suggest what I am doing wrong or provide any help on the use
>of
> > >urls in Tomcat?
> > >
> > >Thanks
> > >
> > >
> > >Shaun
> > >
> >
> >
> > --
> > To unsubscribe, e-mail:
><ma...@jakarta.apache.org>
> > For additional commands, e-mail:
><ma...@jakarta.apache.org>
> >
>
>
>--
>To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
>For additional commands, e-mail: <ma...@jakarta.apache.org>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: How to specify the location of a properties file.

Posted by Glenn Nielsen <gl...@mail.more.net>.
Put the properties file in the /WEB-INF/classes directory and
use ResourceBundle.getBundle("foo");  The name of the properties
file without ".properties.

Regards,

Glenn


Niaz Habib wrote:
> Justin,
> 
> I am facing the same problem. Your approach seems to be an elegent one.
> Would you mind eleborating on the idea a little bit more. Some code snippet
> would definitely be helpful.
> 
> I thank you in advance.
> 
> niaz.
> ----- Original Message -----
> From: "Justin Ruthenbeck" <ju...@nextengine.com>
> To: "Tomcat Users List" <to...@jakarta.apache.org>
> Sent: Monday, October 07, 2002 4:06 PM
> Subject: Re: How to specify the location of a properties file.
> 
> 
> 
>>Shaun --
>>
>>Consider dynamically loading the properties file from your classpath using
>>a class loader.  This way, you can put the files anywhere you please and
>>just include that directory in your classpath (or put them someplace
>>already in your classpath).  If you need more specifics, let me know and
>>I'd be happy to help...
>>
>>justin
>>
>>At 01:00 PM 10/7/2002, you wrote:
>>
>>>I've got a servlet running under Tomcat and I need to read in the
>>
> contents
> 
>>>of a properties file.  There will be different properties files for each
>>>system specified using an init parameter.
>>>
>>>I'm having problems reading this property file at the moment in my java
>>>class as the way I am doing it at the moment always looks where I started
>>>Tomcat from i.e the /bin directory.  I can specify a full path to the
>>
> file
> 
>>>but this is not very system independent and limits me to either Windows
>>
> or
> 
>>>Unix.
>>>
>>>What I need is to specify the location of the file relative to the webapp
>>>directory.  I have tried the url class but it doesn't seem to work, or
>>>maybe it is working but looking in a different place to where my
>>>properties file is.
>>>
>>>Can anyone suggest what I am doing wrong or provide any help on the use
>>
> of
> 
>>>urls in Tomcat?
>>>
>>>Thanks
>>>
>>>
>>>Shaun
>>>
>>
>>
>>--
>>To unsubscribe, e-mail:
> 
> <ma...@jakarta.apache.org>
> 
>>For additional commands, e-mail:
> 
> <ma...@jakarta.apache.org>
> 
> 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>




--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: How to specify the location of a properties file.

Posted by Niaz Habib <ni...@niazhabib.com>.
Justin,

I am facing the same problem. Your approach seems to be an elegent one.
Would you mind eleborating on the idea a little bit more. Some code snippet
would definitely be helpful.

I thank you in advance.

niaz.
----- Original Message -----
From: "Justin Ruthenbeck" <ju...@nextengine.com>
To: "Tomcat Users List" <to...@jakarta.apache.org>
Sent: Monday, October 07, 2002 4:06 PM
Subject: Re: How to specify the location of a properties file.


>
> Shaun --
>
> Consider dynamically loading the properties file from your classpath using
> a class loader.  This way, you can put the files anywhere you please and
> just include that directory in your classpath (or put them someplace
> already in your classpath).  If you need more specifics, let me know and
> I'd be happy to help...
>
> justin
>
> At 01:00 PM 10/7/2002, you wrote:
> >I've got a servlet running under Tomcat and I need to read in the
contents
> >of a properties file.  There will be different properties files for each
> >system specified using an init parameter.
> >
> >I'm having problems reading this property file at the moment in my java
> >class as the way I am doing it at the moment always looks where I started
> >Tomcat from i.e the /bin directory.  I can specify a full path to the
file
> >but this is not very system independent and limits me to either Windows
or
> >Unix.
> >
> >What I need is to specify the location of the file relative to the webapp
> >directory.  I have tried the url class but it doesn't seem to work, or
> >maybe it is working but looking in a different place to where my
> >properties file is.
> >
> >Can anyone suggest what I am doing wrong or provide any help on the use
of
> >urls in Tomcat?
> >
> >Thanks
> >
> >
> >Shaun
> >
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: How to specify the location of a properties file.

Posted by Justin Ruthenbeck <ju...@nextengine.com>.
Shaun --

Consider dynamically loading the properties file from your classpath using 
a class loader.  This way, you can put the files anywhere you please and 
just include that directory in your classpath (or put them someplace 
already in your classpath).  If you need more specifics, let me know and 
I'd be happy to help...

justin

At 01:00 PM 10/7/2002, you wrote:
>I've got a servlet running under Tomcat and I need to read in the contents 
>of a properties file.  There will be different properties files for each 
>system specified using an init parameter.
>
>I'm having problems reading this property file at the moment in my java 
>class as the way I am doing it at the moment always looks where I started 
>Tomcat from i.e the /bin directory.  I can specify a full path to the file 
>but this is not very system independent and limits me to either Windows or 
>Unix.
>
>What I need is to specify the location of the file relative to the webapp 
>directory.  I have tried the url class but it doesn't seem to work, or 
>maybe it is working but looking in a different place to where my 
>properties file is.
>
>Can anyone suggest what I am doing wrong or provide any help on the use of 
>urls in Tomcat?
>
>Thanks
>
>
>Shaun
>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>