5

Ich habe zwei Dateien unter dem WEB-INF/i18n Verzeichnis:Spring ReloadableResourceBundleMessageSource nicht finden Eigenschaftendatei

  • application.properties
  • messages.properties

Ich habe meine ReloadableResourceBundleMessageSource Bohne richtig konfiguriert wie folgt (Federmvc):

<bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" id="messageSource" p:basenames="WEB-INF/i18n/messages,WEB-INF/i18n/application" 
     p:fallbackToSystemLocale="false"/> 

und doch bekomme ich das von Frühling mvc:

2012-09-03 02:59:45,911 [http-bio-8080-exec-4] DEBUG org.springframework.context.support.ReloadableResourceBundleMessageSource - Loading properties [application.properties] 
2012-09-03 02:59:45,912 [http-bio-8080-exec-4] DEBUG org.springframework.context.support.ReloadableResourceBundleMessageSource - No properties file found for [WEB-INF/i18n/application_fr] - neither plain properties nor XML 
2012-09-03 02:59:45,912 [http-bio-8080-exec-4] DEBUG org.springframework.context.support.ReloadableResourceBundleMessageSource - Loading properties [messages.properties] 
2012-09-03 02:59:45,912 [http-bio-8080-exec-4] DEBUG org.springframework.context.support.ReloadableResourceBundleMessageSource - No properties file found for [WEB-INF/i18n/messages_fr] - neither plain properties nor XML 

Kann jemand bitte beraten? Ich könnte die Eigenschaftendateien in den Klassenpfad verschieben und meine Konfiguration entsprechend ändern, aber ich würde lieber verstehen, was vor sich geht.

Antwort

1

In der Log-Nachricht sagt es so: application_fr die _fr

Hinweis. Dies bedeutet, dass es versucht, nach der französischen Version der application.properties (application_fr.properties) zu suchen. Wenn es die französischen Eigenschaften nicht finden kann, sollte es auf den Standard (application.properties) zurückfallen, also sollten Ihre Requisiten noch gefunden werden. Der Grund, warum es für die Französisch Requisiten sucht, ist mit einem Gebietsschema Einstellungen irgendwo in Ihrer App zu tun. Könnte von Browser, JVM, Anwendung sein.

können Sie versuchen, die folgenden hinzuzufügen, das Gebietsschema auf Englisch zu erzwingen:

<bean class="org.springframework.web.servlet.i18n.FixedLocaleResolver" p:defaultLocale="en"/> 
+0

Dank Lithium. Wie Sie sagen, sollte es auf 'application.properties' zurückgreifen. Ob ich also den Namen der Datei in' application_fr.properties' ändere oder den von Ihnen vorgeschlagenen Code hinzufüge, bekomme ich immer noch den Fehler ... Irgendeine andere Idee? – balteo

+0

Nun, es ist kein Fehler, es ist eine Debug-Nachricht. Es könnte sich korrekt verhalten. Finden Sie die falschen Eigenschaftswerte? Außerdem sollten Sie sicherstellen, dass application.properties vorhanden ist. So könnten Sie application.properties in application_fr.properties kopieren. – Solubris

+0

Ummm. Ich verstehe nicht, was du damit meinst: ** Außerdem solltest du sicherstellen, dass application.properties egal was gibt. So können Sie eine Datei mit der Datei application.properties in application_fr.properties kopieren. Haben Sie application_fr.properties und application.properties? Ich habe das schon versucht ... – balteo

Verwandte Themen