2016-05-03 6 views
0

Ich versuche, die Eigenschaftendateien im Ordner tomcat conf zu laden, aber der folgende Code verursacht eine Fehlende Ressourcenausnahme.Wenn ich einen Eigenschaftsplatzhalter verwende, kann ich Eigenschaftendateien laden von tomcat conf fein.So laden Sie das Spring-Ressourcenpaket aus dem Tomcat-Verzeichnis

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
    <property name="basename"> 
      <value>file:${catalina.base}/conf/messages</value> 

    </property> 
</bean> 

Antwort

0

Wenn Sie versuchen, Ihre Ressourcen externalisieren und verwenden Resource das ist, wie ich es tat mit Classloader.

private static ClassLoader loader; 

private static void setUp() 
{ 
    String path = System.getProperty("catalina.base"); 
    File file = new File(path +"/conf/error_messages"); 
    URL[] urls = new URL[0]; 
    try { 
     urls = new URL[]{file.toURI().toURL()}; 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } 
    loader = new URLClassLoader(urls); 
} 

Nun, wenn ich brauche die richtigen Nachrichten zu laden: Ex: errors_en.properties außerhalb der Anwendung befindet.

ResourceBundle.getBundle("errors", requestLocale, loader); 
Verwandte Themen