Main Tutorials

Can’t find bundle for base name xxx, locale en_US

Problem

In JSF web application , load a message bundle in application level like this :
faces-config.xml


<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">
     <application>
	<message-bundle>
		com.mkyong.payment_error
	</message-bundle>
     </application>
</faces-config>

When the page is rendered, it hits “Can’t find bundle for base name com.mkyong.payment_error, locale en_US“?

Solution

Obviously, the bundle or properties file (com.mkyong.payment_error.properties) is missing, make sure the name is match and placed in the resource folder properly.

For Eclipse User
This problem is usually happened in the Eclipse IDE environment, where it doesn’t copy the “.properties” file extension by default. So, just make sure the properties file is existed in the run time “classes” folder and can be located by your web application.

About Author

author image
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities.

Comments

Subscribe
Notify of
7 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
seb
1 year ago

“For Eclipse User” — this worked perfectly for me. Thanks

Right click the project (in Project Explorer) –> Properties –> Java Build Path (menu) –> Source (tab) –> Add Folder (button) – Then add folder containing the properties file.

Last edited 1 year ago by seb
Óscar
6 years ago

It’s obvious but I never see it. Thanks for the simple solution that sometimes they have to remind me

Sandip Gupta
6 years ago

This fixed my issue, thanks for your help

matias
7 years ago

Did fix this by putting the files under WEB-INF -folder.

demonz11b
10 years ago

very useful. thanks. shame on eclipse.

jsmile
11 years ago

I have encounted a similar error.

“java.util.MissingResourceException: Can’t find bundle for base name javax.faces.Messages, locale en_US
….”

( environment )
jdk1.6.0_29
Apache Tomcat/7.0.22
eclipse-jee-indigo-SR1-win32

( WEB-INF\lib\faces-config.xml )

<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
    version="1.2">
    
<application>
	<resource-bundle>
		<base-name>guessNumber.ApplicationMessages</base-name>
		<var>ErrMsg</var>
	</resource-bundle>
	<locale-config>
      <default-locale>en_US</default-locale>
    </locale-config>	
</application> 

( src\guessNumber\ApplicationMessages.properties )

What’s my problem ?

dimmid
12 years ago

I get a java.util.MissingResourceException: Can’t find bundle for base name i18n.messages, locale sv … (that’s swedish)

I’m using Eclipse 3.6
The property file exists under the run time “classes” (as you mentioned)

When language is set to English in my browser the problem dissappears.

You have any idea? Cause I have been throwing hours and hours on this problem.