props file can be placed in src package and then placed along with classes
in the Web-INF directory when compiling with the destination flag .This
method has been used since jdk 1 for internationalization and is understood
by new and old devs. On a side not perhaps someone can help me with a
related question regarding how we intwenationalize images? or a link:P
--------------------------------------------------
From: "Harry Metske" <harry.met...@gmail.com>
Sent: Sunday, April 18, 2010 7:32 PM
To: "Tomcat Users List" <users@tomcat.apache.org>
Subject: Re: loading properties file from WEB-INF instead of WEB-INF/classes
2010/4/17 Thufir <hawat.thu...@gmail.com>
getPropsFromWebINF works so long as the properties file is within the
package of
the class (/. However, I'd like to put the properties file under
WEB-INF:
public void getPropsFromWebINF() throws IOException {
Properties p = new Properties();
InputStream is;
is = getClass().getResourceAsStream("sqljdbc4.properties");
p.load(is);
log(p.toString());
}
Class.getResourceAsStream() will delegate to the classloader to find the
resource (searches the classpath) , see
http://java.sun.com/javase/6/docs/api/java/lang/Class.html#getResourceAsStream(java.lang.String)
The tomcat site has an excellent description of Tomcat's classloading :
http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html , this
should bring you to the conclusion that the above won't work.
You should put your sqljdbc4.properties file in WEB-INF/classes, or in
WEB-INF/lib if packaged in a jar file.
If you reference it from your application, make sure you prepend a "/" (or
it will search in your servlet's package) .
I've seen mention of using:
System.getenv("APP_PROPERTIES");
in conjunction with a context (context.xml under META-INF) along the
lines
of:
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/A00720398sat">
<Environment name="APP_PROPERTIES"
description="The APP Properties File" override="false"
type="java.lang.String"
value="/WEB-INF/app.properties" />
</Context>
however, I'm not able to get the environment, I just get a null value.
can you be a bit more specific where you get a null value (show some lines
of code)...
although the above won't bring you to the content of the property file,
you
only have defined a key/value pair.
regards,
Harry
What's the correct, and simple, idiom? (Staying away from jndi and dbcp
for
now, and, oddly enough, servlets in this case.)
Actually, I suppose in a sense it's in WEB-INF:
dtc01l0376-06:~ a00720398$
dtc01l0376-06:~ a00720398$ jar -tfv
NetBeansProjects/A00720398sat/dist/A00720398sat.war | grep sql
498 Sat Apr 17 14:36:14 PDT 2010
WEB-INF/classes/controller/sqljdbc4.properties
however, I'd like to move it from WEB-INF/classes up to just WEB-INF.
thanks,
Thufir
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org