Menu

Can't find bundle for base name viewcontent

Help
2003-06-02
2013-04-09
  • Zeiberstein

    Zeiberstein - 2003-06-02

    Hi,

    I installed webmail 0.9.8 on Redhat 8 with jakarta-tomcat-4.1.24 and java 1.4.1_02.

    When I try to open the first webmail page in the browser, I get the following exception:
    org.apache.jasper.JasperException: Can't find bundle for base name viewcontent, locale en_US
    (the complete dump can be found below)

    Typing locale at my Linux prompt gives: LANG=en_US.UTF-8. So, my Linux box locale is set at en_US, where webmail only (?) supports de, en, es, fr & it.

    Is there a simple solution or work-around?

    Lex

    org.apache.jasper.JasperException: Can't find bundle for base name viewcontent, locale en_US
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
        at java.lang.Thread.run(Thread.java:536)
    root cause
    java.util.MissingResourceException: Can't find bundle for base name viewcontent, locale en_US
        at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:804)
        at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:694)
        at java.util.ResourceBundle.getBundle(ResourceBundle.java:511)
        at org.apache.taglibs.i18n.BundleTag.findBundle(BundleTag.java:323)
        at org.apache.taglibs.i18n.BundleTag.doStartTag(BundleTag.java:347)
        at org.apache.jsp.login_jsp._jspService(login_jsp.java:80)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
        at java.lang.Thread.run(Thread.java:536)

    Apache Tomcat/4.1.24

     
    • Anonymous

      Anonymous - 2003-06-03

      I get the same exception:
      java.util.MissingResourceException: Can't find bundle for base name viewcontent, locale zh_CN

      <h2>for  help!</h2>

       
    • Dieter Wimberger

      jwma provides a bundle without locale suffix, which should, according to the API documentation of ResourceBundle, actually prevent the problem you are running into.

      However, I know it does not help much telling you it's not/should not be a jwma related problem, thus I suggest you a workaround:
      Create a copy of the bundles with your locale suffix, from the language you prefer.

      Regards,
      Dieter

       
    • Anonymous

      Anonymous - 2003-06-04

      but how to create it?
      can u give us a example?
      thanks

      kevin

       
    • Zeiberstein

      Zeiberstein - 2003-06-04

      Ive done some experimenting with the resource files.

      The bare minimum of files to get a proper login screen are for me:
        viewcontent_nl.properties
        errormessages.properties
        logmessages.properties

      The nl in the viewcontent file is dictated by the language setting in my browser (Dutch). When I dont have a viewcontent.nl, I get the message: Can't find bundle for base name viewcontent, locale en_US, even when the English set of property files are in place

      I use the standard set of property files together with the newly copied viewcontent_nl.properties and errormessages_nl.properties. Everything seems to work properly together now with the Dutch settings of my browser.

      Thanks,

      Lex

       
    • Dieter Wimberger

      Well,

      First, let's seperate the logmessages. Here we are missing to provide a proper non suffix properties file (i.e. logmessages.properties). This would be necessary to catch the problem where somebody changes the system language from en, but does not provide a proper bundle.
      (The system language is/will be used for logs and jwma system messages; it does not represent the systems set locale or anything).

      Second, when proper non suffix bundles are provided, the ResourceBundle mechanism should resolve the non-suffix bundle in ANY CASE. Obviously this is not the case.

      I don't know what to do about this, as the ResourceBundle is part of Java's core i18n mechanisms.

      All I can tell you is that we are migrating to Struts and will move away from the i18n taglib (using bean:message instead) as well as the ResourceBundle (using MessageResources instead).
      I hope that this will resolve the problem.

      Regards,
      Dieter

       
    • Gary Zuo

      Gary Zuo - 2004-05-15

      I got the same error with Tomcat 5.  I solved the problem by creating a directory called "classes" under WEB-INF and copy all the property files from i18n over.

       
    • Cameron Wong

      Cameron Wong - 2006-02-13

      The method used upstairs by creating "classes" worked but another error occured!

      So I used a Tomcat 4.1 although it is a lower version. I did the following:
      copy <Tomcat 4.1>\webapps\webmail\WEB-INF\i18n\viewcontent.properties <Tomcat 4.1>\webapps\webmail\WEB-INF\i18n\viewcontent.properties_zh

      After restart Tomcat, I was so happy to see the login page:)

       

Log in to post a comment.