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.

7 comments on “Can’t find bundle for base name xxx, locale en_US

  1. “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.

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

    Reply
  3. This fixed my issue, thanks for your help

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

    Reply
  5. 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 ?

    Reply
  6. 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.

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *