2017-08-22 13 views
0

「をベース名用のバンドルを見つけることができない」私は、単純なJSFベースのプロジェクトを(プロジェクト構造をチェックアウトするthis imageをご参照ください)やっているが、私は、なぜ顔-config設定を把握することはできませんメッセージに到達できません。はJSF messages.propertiesに

ここで「Messages.properties」ファイル参照「面-config.xmlの」上のコードの一部です:ここ

<application> 
     <message-bundle>br.com.teste.primeiraaplicacaojsf.web.i18n.Messages</message-bundle> 
     <locale-config> 
     <default-locale>pt_BR</default-locale> 
     </locale-config> 
    </application> 

ブラウザに生成されるエラーメッセージである:

HTTP Status 500 - Can't find bundle for base name br.com.teste.primeiraaplicacaojsf.web.i18n.Messages, locale pt_BR 

type Exception report 

message Can't find bundle for base name br.com.teste.primeiraaplicacaojsf.web.i18n.Messages, locale pt_BR 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: Can't find bundle for base name br.com.teste.primeiraaplicacaojsf.web.i18n.Messages, locale pt_BR 
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:671) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 
root cause 

java.util.MissingResourceException: Can't find bundle for base name br.com.teste.primeiraaplicacaojsf.web.i18n.Messages, locale pt_BR 
    java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564) 
    java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387) 
    java.util.ResourceBundle.getBundle(ResourceBundle.java:1082) 
    javax.faces.component.MessageFactory.getMessage(MessageFactory.java:161) 
    javax.faces.component.MessageFactory.getMessage(MessageFactory.java:251) 
    javax.faces.component.UIInput.validateValue(UIInput.java:1149) 
    javax.faces.component.UIInput.validate(UIInput.java:982) 
    javax.faces.component.UIInput.executeValidate(UIInput.java:1248) 
    javax.faces.component.UIInput.processValidators(UIInput.java:712) 
    javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261) 
    javax.faces.component.UIForm.processValidators(UIForm.java:253) 
    javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261) 
    javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261) 
    javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195) 
    com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76) 
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) 
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:658) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 
それが名前だとして、それは全体のパスで一つだけのフォルダを作成していたカーテンの後ろにいる間、それはフォルダの順だったかのようにIntelliJのプロジェクトエクスプローラが「Messages.properties」ファイルのパスを見せていたいくつかの理由
+0

、してください、Messages_pt_BR.propertiesにごMessages.propertiesの名前を変更構築、展開、およびそれが動作するかどうかを確認します。 – Bonifacio

+0

@Bonifacioエラーが続く。まったく同じ。 –

+0

@Kukeltje構造内の正しい場所にありますが、展開後にその場所に残っているかどうかを確認する方法はわかりません。 –

答えて

1

問題は、(ファイルがまったく同じまま)resourcesフォルダ内のフォルダ構造を作り直すことで修正されました。

+0

はい確かに、IntelliJのは、構造が一連のフォルダではなかった作成されますが、ただ一つのフォルダの名前org.abc.def.messagesと、すべてのプロパティファイルは、その中にいました。これは問題を引き起こしていました。 src/main/resources、つまり/ org/abc/def/messagesの下に適切なフォルダを作成し、そこで.propertiesファイルを配置する必要があります。 –