2011-11-14 6 views
0

は、現在、私のJSF(1.2)アプリケーションは、私がメッセージバンドルを設定しているJSFバンドルロード失敗

java.util.MissingResourceException: Can't find bundle for base name javax.faces.Messages, locale de 
    java.util.ResourceBundle.throwMissingResourceException(Unknown Source) 
    java.util.ResourceBundle.getBundleImpl(Unknown Source) 
    java.util.ResourceBundle.getBundle(Unknown Source) 
    com.sun.faces.util.MessageFactory.getMessage(MessageFactory.java:177) 
    com.sun.faces.util.MessageFactory.getMessage(MessageFactory.java:136) 
    com.sun.faces.util.MessageUtils.getExceptionMessageString(MessageUtils.java:351) 
    com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:187) 
    com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:105) 
    com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:368) 
    com.sun.faces.mgbean.BeanManager.create(BeanManager.java:230) 
    com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:86) 
    javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) 
    com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72) 
    org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:69) 
    org.apache.el.parser.AstValue.getValue(AstValue.java:112) 
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) 
    com.sun.faces.application.ValueBindingValueExpressionAdapter.getValue(ValueBindingValueExpressionAdapter.java:113) 
    javax.faces.component.ValueExpressionValueBindingAdapter.getValue(ValueExpressionValueBindingAdapter.java:70) 
    org.apache.myfaces.custom.aliasbean.Alias.computeEvaluatedExpression(Alias.java:113) 
    org.apache.myfaces.custom.aliasbean.Alias.make(Alias.java:137) 
    org.apache.myfaces.custom.aliasbean.AliasBean.makeAlias(AliasBean.java:357) 
    org.apache.myfaces.custom.aliasbean.AliasBean.makeAlias(AliasBean.java:342) 
    org.apache.myfaces.custom.aliasbean.AliasBeanTagHandler.applyNextHandler(AliasBeanTagHandler.java:90) 
    com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) 
    com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) 
    com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) 
    com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) 
    com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) 
    com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) 
    com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) 
    com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) 
    com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) 
    com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) 
    com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) 
    com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) 
    com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109) 
    com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) 
    com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) 
    com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95) 
    com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:274) 
    com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:159) 
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110) 
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) 
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
    com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:19) 
    com.icesoft.faces.context.View$2$1.respond(View.java:48) 
    com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:201) 
    com.icesoft.faces.context.View$2.serve(View.java:77) 
    com.icesoft.faces.context.View.servePage(View.java:149) 
    com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:52) 
    com.icesoft.faces.webapp.http.common.ServerProxy.service(ServerProxy.java:11) 
    com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet$4.service(MainSessionBoundServlet.java:149) 
    com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:24) 
    com.icesoft.faces.webapp.http.servlet.BasicAdaptingServlet.service(BasicAdaptingServlet.java:16) 
    com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23) 
    com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53) 
    com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23) 
    com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:131) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368) 
    org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:89) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97) 
    de.konsens.wwwkmv.security.KmvExceptionTranslationFilter.doFilter(KmvExceptionTranslationFilter.java:54) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:57) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169) 
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) 
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) 

....サーブレットエンジン(Tomcatの6.0.32)の開始時に、次の失敗を生成しますfaces-config.xmlファイル

<application> 
    <view-handler>com.icesoft.faces.facelets.D2DFaceletViewHandler</view-handler> 
    <locale-config> 
    <default-locale>de</default-locale> 
    <supported-locale>de</supported-locale> 
    <supported-locale>de_DE</supported-locale> 
    </locale-config> 
    <message-bundle>Messages</message-bundle> 
</application> 

....最も神秘的なものを私はWEB-INF /クラス/フォルダ(Messages_de.properties、Messages_de_DE.properties)にプロパティファイルを入れているが、私は常にこのメッセージが表示されます私はアプリケーションの構成の読書の中でものを変更しただけですが、 faces-config.xmlまたはjspxファイル。

答えて

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

これは実際には誤解を招くような例外と古いJSF 1.2のバージョンのエラー報告のバグです。 の問題は、<message-bundle>が見つからないことです。

あなたは大丈夫です/WEB-INF/classesフォルダにMessages_de.propertiesMessages_de_DE.propertiesを配置することを述べたが、あなたはがデフォルトMessages.propertiesファイルを提供する必要があります。それは空のままにすることができます。

もう一つ考えられる原因は、が実際にでIDEを使用して開発されており、IDEナビゲータによって/WEB-INF/classesフォルダに文字通り置かれていることです。あなたはこれをしてはいけません。これは、WARをビルドしてデプロイするたびにオーバーライドされます。代わりに、.propertiesファイルをプロジェクトのソースルートに置いてください。そこには、すべてのJavaパッケージもあります。

+0

Messages.propertiesを/ WEB-INF/classesフォルダに追加し、コマンドラインでIDEからビルドを行い、WARファイルに上記のファイルが正しく含まれています。しかし、失敗は方法で消えません... – khmarbaise

+0

ビルドWARファイルの '/ WEB-INF/classes'フォルダに**これらのファイルが含まれていますか?さて、この問題は他の場所で発生しています。大文字と小文字が区別されます。正しいファイル名を指定したことを確認してください。そうでないならば。どのようなJSF impl/versionを使用していますか?あなたが不明な場合は、いくつかのZIPツールでJSF implファイルを抽出し、その '/ META-INF/MANIFEST.MF'ファイルの' Implementation-Version'エントリを読み込みます。 – BalusC

+0

今、私は実用的に解決し、Messages.properties問題を解決したjavax/facesの場所にファイルをコピーします。 (良くないが動作する)。助けてくれてありがとう。 – khmarbaise

2

私は同じエラーメッセージました:

20-09-2012 16:20:31 HTTP JVM: Can't find resource for bundle javax.faces.Messages, key nl. For more detailed information, please consult error-log-0.xml located in /prj/notes/appldata/data/domino/workspace/logs 

20-09-2012 16:20:31 HTTP JVM: com.ibm.xsp.webapp.FacesServlet$ExtendedServletException: javax.faces.FacesException: Can't find resource for bundle javax.faces.Messages, key nl 

20-09-2012 16:20:31 HTTP JVM: CLFAD0134E: Exception processing XPage request. For more detailed information, please consult error-log-0.xml located in /prj/notes/appldata/data/domino/workspace/logs 

まあ、私はのXPages(JSFに基づいたIBMの強力なRADツール)を使用していますし、私の場合、それはシステムがにたかったので、いくつかのフィールド - を示し、私のMessagesObjectにフォーカスが外れていた(またはレンダリングされていない)妥当性検査のエラーメッセージ

エラーがフィールド検証によるものだったので、私は問題の原因で解決しました。 実際、部分的な更新によって、他の動的コンテンツに切り替えられたイメージをクリックしていました。私は「データを検証したり更新しない」を選択したので、フィールド検証はスキップされました。