2016-01-25 32 views
0

我知道在stackoverflow和其他論壇上有關於此錯誤的大量問題和解答。但我仍然無法找到解決辦法......MissingResourceException:無法找到基本名稱的包

我的代碼:

package com.sodifrance.apex.presentation.generic.utils; 

import java.util.ResourceBundle; 

public class EnumTranslator { 

    private static EnumTranslator instance = null; 

    private EnumTranslator() { 
    } 

    public static EnumTranslator getDefaut() { 
     if (instance == null) 
     { 
      instance = new EnumTranslator(); 
     } 
     return instance; 
    } 

    public String translate(Enum<?> enumerationValue) { 
     String localizedMessage = ""; 

     if (enumerationValue != null) 
     { 
      ResourceBundle b = ResourceBundle.getBundle("resources.enumerations"); 

      localizedMessage = enumerationValue.name(); 

      if (b != null) 
      { 
       localizedMessage = b.getString(enumerationValue.getDeclaringClass().getName() + "." + enumerationValue.name()); 
      } 
     } 

     return localizedMessage; 
    } 
} 

Tomcat的控制檯:

java.util.MissingResourceException:能否」 t查找基本名稱的包 resources.enumerations,區域設置fr_FR java.util.Re sourceBundle.throwMissingResourceException(ResourceBundle.java:1564) 在java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387) 在java.util.ResourceBundle.getBundle(ResourceBundle.java:773)在 com.presentation.generic。 utils.EnumTranslator.translate(EnumTranslator.java:25) 在 com.presentation.entry.societe.EntryChoixTypeSocieteAction.execute(EntryChoixTypeSocieteAction.java:53) 在 com.presentation.generic.back.BackRequestProcessor.processActionPerform(BackRequestProcessor。 java:118) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) at com.presentation.generic.back.BackRequestProcessor.process(Back RequestProcessor.java:63) 在 org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) 在 org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain。的java:291) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 在 org.a pache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 com.presentation.generic.security.EncodingFilter。的doFilter(EncodingFilter.java:121) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.presentation.generic.security.ApplicationFilter.doFilter(ApplicationFilter.java:72) at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:239) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 在 org.apache。catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 在 org.apache.catalina.valves.AbstractAccessLogValve.invoke( AbstractAccessLogValve.java:616) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:674) 在 org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1500) 在 org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run(NioEndpoint.java:1456) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:617) 在 org.apache.tomcat.util .threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61) 在java.lang.Thread.run(Thread.java:745)

當二nspect這條線在debbug模式:

ResourceBundle b = ResourceBundle.getBundle("resources.enumerations"); 

我有這樣的信息:

的方法的getBundle(字符串)是未定義的類型枚舉譯者

我的文件的配置: enter image description here

+0

你在哪裏把你的屬性文件? –

+0

@JérémieB我已更新我的文章屬性文件 – Mercer

+0

嘗試getBundle(「com.sod.ap.properties.enumerations」) –

回答

1

Resource.getBundle以FQCN作爲參數。在聲明ResourceBundle.getBundle("resources.enumerations")的JRE正在尋找的文件資源/枚舉< _local>的.properties

在你的榜樣,你應該使用getBundle("com.sod.ap.properties.enumerations")

相關問題