Loading properties file in .war under JBoss - where do they belong?

D

ddog

I'm trying to read a properties file within a web-app under JBoss. The
setup follows:

Location of properties file in war file is:
WEB-INF/classes

// code to load properties file is:
ResourceBundle props =
ResourceBundle.getBundle("idmwswrapper.properties",
Locale.getDefault(), this.getClass().getClassLoader());

ERROR READING PROPERTIES FILE.... Can't find bundle for base name
idmwswrapper.properties, locale en_US
2007-08-03 14:52:08,734 INFO [STDOUT]
java.util.MissingResourceException: Can't find bundle for base name
idmwswrapper.properties, locale en_US

Anyone have any ideas? I've tried other methods of reading the file,
but it cannot be 'found'. Doc say
props file must be in classpath. WEB-INF/classes is in the classpath.

Any help greatly appreciated!
 
M

Manish Pandit

I'm trying to read a properties file within a web-app under JBoss. The
setup follows:

Location of properties file in war file is:
WEB-INF/classes

// code to load properties file is:
ResourceBundle props =
ResourceBundle.getBundle("idmwswrapper.properties",
Locale.getDefault(), this.getClass().getClassLoader());

ERROR READING PROPERTIES FILE.... Can't find bundle for base name
idmwswrapper.properties, locale en_US
2007-08-03 14:52:08,734 INFO [STDOUT]
java.util.MissingResourceException: Can't find bundle for base name
idmwswrapper.properties, locale en_US

Anyone have any ideas? I've tried other methods of reading the file,
but it cannot be 'found'. Doc say
props file must be in classpath. WEB-INF/classes is in the classpath.

Any help greatly appreciated!

Hi,

Try changing ResourceBundle.getBundle("idmwswrapper.properties") to
ResourceBundle.getBundle("idmwswrapper").

-cheers,
Manish
 
L

Lew

ddog said:
I'm trying to read a properties file within a web-app under JBoss. The
setup follows:

Location of properties file in war file is:
WEB-INF/classes

// code to load properties file is:
ResourceBundle props =
ResourceBundle.getBundle("idmwswrapper.properties",
Locale.getDefault(), this.getClass().getClassLoader());

ERROR READING PROPERTIES FILE.... Can't find bundle for base name
idmwswrapper.properties, locale en_US
2007-08-03 14:52:08,734 INFO [STDOUT]
java.util.MissingResourceException: Can't find bundle for base name
idmwswrapper.properties, locale en_US

Anyone have any ideas? I've tried other methods of reading the file,
but it cannot be 'found'. Doc say
props file must be in classpath. WEB-INF/classes is in the classpath.

I don't know about JBoss particularly, but generally there are two roads:
Use the ServletContext:
<http://java.sun.com/javaee/5/docs/a...letContext.html#getResource(java.lang.String)>
The path must begin with a "/" and is interpreted as relative to the current context root.

Typically you'd gather a resource from a resources subdirectory of the webapp
or of the WEB-INF/:
context.getResourceAsStream( "resources/my.properties" )

The other way is to use a ClassLoader, either directly or through the
corresponding Class methods:
<http://java.sun.com/javase/6/docs/api/java/lang/ClassLoader.html#getResource(java.lang.String)>
<http://java.sun.com/javase/6/docs/a...er.html#getResourceAsStream(java.lang.String)>

These methods search the class path, not the web app context, so instead of
starting at, for example:
http://your.host:8080/webapp/
it starts looking at the application's WEB-INF/classes subdirectory and other
classpath locations.

For web apps the ServletContext version would probably work better.
 
D

ddog

ddog said:
I'm trying to read a properties file within a web-app under JBoss. The
setup follows:
Location of properties file in war file is:
WEB-INF/classes
// code to load properties file is:
ResourceBundle props =
ResourceBundle.getBundle("idmwswrapper.properties",
Locale.getDefault(), this.getClass().getClassLoader());
ERROR READING PROPERTIES FILE.... Can't find bundle for base name
idmwswrapper.properties, locale en_US
2007-08-03 14:52:08,734 INFO [STDOUT]
java.util.MissingResourceException: Can't find bundle for base name
idmwswrapper.properties, locale en_US
Anyone have any ideas? I've tried other methods of reading the file,
but it cannot be 'found'. Doc say
props file must be in classpath. WEB-INF/classes is in the classpath.

I don't know about JBoss particularly, but generally there are two roads:
Use the ServletContext:
<http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletContext.ht...)>
The path must begin with a "/" and is interpreted as relative to the current context root.

Typically you'd gather a resource from a resources subdirectory of the webapp
or of the WEB-INF/:
context.getResourceAsStream( "resources/my.properties" )

The other way is to use a ClassLoader, either directly or through the
corresponding Class methods:
<http://java.sun.com/javase/6/docs/api/java/lang/ClassLoader.html#getR...)>
<http://java.sun.com/javase/6/docs/api/java/lang/ClassLoader.html#getR...)>

These methods search the class path, not the web app context, so instead of
starting at, for example:
http://your.host:8080/webapp/
it starts looking at the application's WEB-INF/classes subdirectory and other
classpath locations.

For web apps the ServletContext version would probably work better.

Thanks guys - I'll give these 2 methods a shot....
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,045
Latest member
DRCM

Latest Threads

Top