[JSF 1.2 - ResourceBundle] Can't find bundle for base name javax.faces.Messages

Prezados,
Já ví vários tópicos no GUJ falando sobre esse problema…mais nenhum deles me adiantou.
Alguém sabe realmente o que isso quer dizer?

java.util.MissingResourceException: Can't find bundle for base name javax.faces.Messages, locale pt_BR

Segue abaixo o meu faces-config, não tem nem ResourceBundle configurado!
Não deveria aparecer esse erro correto?
Alguém sabe como solucionar?

<?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_1_2.xsd"
	version="1.2">
	
	<managed-bean>
		<managed-bean-name>manageBean</managed-bean-name>
		<managed-bean-class>com.diogo.ManageBean</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>

	<navigation-rule>
		<from-view-id>*</from-view-id>

		<navigation-case>
			<from-outcome>primeiraSolicitacao</from-outcome>
			<to-view-id>/page02.xhtml</to-view-id>
		</navigation-case>

		<navigation-case>
			<from-outcome>segundaSolicitacao</from-outcome>
			<to-view-id>/page03.xhtml</to-view-id>
		</navigation-case>

	</navigation-rule>

</faces-config>
br.seu.projeto.resources.alguma.coisa

nesta package q vc informou deve ter seu arquivo de mensagens…

espero ter ajudado

Mauricio, não tem.
O meu faces-config está do jeito que postei, sem indicação a nenhum Bundle.
Porém após criar um do mesmo modo que o senhor mencionou o erro persiste, e ainda aponta para o mesmo erro acima.

Seguinte depois q vc adicionar o o bundle no seu faces-config…
vai na pasta de build do seu projeto e verifica se o arquivo foi
adicionado…

Segue erro:

java.util.MissingResourceException: Can't find bundle for base name artefato.resources.GlobalMessages, locale pt_BR
	<application>
		<message-bundle>resources.GlobalMessages</message-bundle>
	</application>

Coloquei o .war gerado em anexo. Contém o Bundle na pasta de resources.

Meu amigo seguinte vc estava colocando o seu arquivo dentro de uma pasta…
no eh assim.
O arquivo deve ser um pacote dentro da pasta “src” do seu projeto

[code]

    <message-bundle>
             br.com.teste.messages
    </message-bundle>
</application>

[/code]

e na sua pagina fica assim

<f:loadBundle basename="br.com.teste.messages" var="msg"/> <h:outputText value="#{msg.ola_mundo}" />

Amigo, Intendi o que você estava falando. Funcionou perfeitamente! Muito obrigado.
O Arquivo deve ficar em um pacote dentro da pasta de classes do .WAR…então criei um resource fouder conforme você me informou.

Última dúvida, não sei como mais já consegui subir a aplicação sem ser obrigado a utilizar nenhum ResourceBundle.
Você sabe me dizer como faço isso?

Mesmo colocando meu Bundle normalmente, após ele encontrar o meu ele acusa que deseja ter esse:

java.util.MissingResourceException: Can't find bundle for base name artefato.javax.faces.Message, locale pt_BR 

Como faço pra ele não requerer esse ou outro ResourceBundle?

Muito Obrigado pela Ajuda!!!

Att,
Diogo Barbosa

vc remover a pasta resource do seu webContent??

isso eh pq o bundle fazer parte das configurações de internacionalização
do jsf…

neste caso o jsf nao conseguiu localizar o arquivo para pt_BR (Portugues Brasil)
mas se vc quizer add um especial para pt,
e vc fazer o mesmo procedimento ir no seu package e add outro properties
messages.properties
messages_pt_BR.properties

obs: Nao precisa add mais nenhuma informacao no faces-config

vlw

Caros,

Um problema semelhante acontece comigo. Tenho uma aplicação que, acessando localmente está tudo ok. Porém, ao enviar para um outro servidor (q eu preciso para serem realizados testes funcionais da aplicação) copiando o arquivo .War na pasta do jboss desse servidor, este mesmo erro aparece logo na página inicial : java.util.MissingResourceException: Can't find bundle for base name pacote.pacote.pacote.resources.labels, locale pt_BR

Aqui está trecho do meu arquivo Faces-Config.xml:

	<application>
		<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
		<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
		<locale-config>
			<default-locale>pt_BR</default-locale>
			<supported-locale>en_US</supported-locale> 
		</locale-config>
		
		<resource-bundle>
			<base-name>com.gsw.sro.resources.labels</base-name>
			<var>labels</var>
		</resource-bundle>
		
		<resource-bundle>
			<base-name>com.gsw.sro.resources.messages</base-name>
			<var>messages</var>
		</resource-bundle>
		<message-bundle>javax.faces.Messages</message-bundle> 		
	</application>
	<lifecycle>
		<phase-listener>com.gsw.sro.util.web.security.LoginErrorListener</phase-listener>
	</lifecycle

Alguma ideia do que possa ser? visto que na minha máquina está tudo certo.

Abraços

Esse erro ocorre por causa das configurações do eclipse, geralmente para quem usa windows como é o meu caso e setamos nas propriedades do eclipse o UTF-8 como padrão para tentar tirar os caracteres estranhos das paginas exibidas no navegador. Isso meio que obriga o bundle a procurar arquivos do tipo pt_BR, mas pode acontecer com outros idiomas. A solução é pegar o idioma que ele da após a palavra locale e criar uma copia do arquivo acrescentando no final separado por “_” o idioma que ele mostra.

Por exemplo:

java.util.MissingResourceException: Can’t find bundle for base name pacote.pacote.pacote.resources.config, locale pt_BR

nome do arquivo “config”.

crie uma cópia do arquivo com o nome “config_pt_BR”.

Aí sim, fera!

Na época eu precisei ir para outro projeto, mas lembro que não havia chegado em uma solução. Valeu!