2013-09-09 6 views
0
кот

Я пытаюсь интернационализировать мой servlet проект, поэтому я поместил все MessageBundle файлы com.project.i18n пакета:Нет MessageBundle после развертывания

$ ls src/main/java/com/project/i18n/ 
Internationalization.java  MessagesBundle_fr.properties MessagesBundle.properties  MessagesBundle_us.properties 

Когда я бегу через mvn tomcat:run кот все работает отлично, и я получаю право язык; но если развернуть project.war файл tomcat/webapps derectory затем локализованные сообщения не работают больше, когда я проверяю путь пакета в tomcat/webapps нет MessageBundle файлы:

$ ls webapps/ROOT/WEB-INF/classes/com/project/i18n/ 
    Internationalization.class 

Это index.jsp:

<fmt:setLocale value="fr" /> 
<fmt:setBundle basename="com.project.i18n.MessagesBundle" /> 
... 
<fmt:message key="home.welcome" /> 
.. 

anyhelp как решить эту проблему? Тпй.

ответ

0

Не следует отправлять файлы MessageBundle в src/main/resources вместо src/main/java?

У вас есть фильтр в вашей конфигурации sourceDirectory?

+0

его проект sevlet не jsf – tokhi

0

Файлы интернационализации должны быть в папке /src/main/resources. Обратите внимание на следующее.

http://docs.oracle.com/javaee/6/tutorial/doc/bnaxw.html

How to internationalize a Java web application?

+0

Ссылка, которую вы вставили, также помещала файлы пакета в 'пакет' не' main/resoruces' – tokhi

+0

Да, это должно быть в пакете, но в 'resources', а не в' java' , т. е .: 'src/main/resources/com/project/messages /' – Nufail

0

Я переехал MessageBundle файлы src/main/resources и модифицировал setBundle на индексной странице, как показано ниже:

<fmt:setBundle basename="MessagesBundle" /> 

Теперь он работает.