Java tomcat部署后没有MessageBundle
我正在尝试国际化我的Java tomcat部署后没有MessageBundle,java,tomcat,servlets,internationalization,jstl,Java,Tomcat,Servlets,Internationalization,Jstl,我正在尝试国际化我的servlet项目,因此我将所有MessageBundle文件放在com.project.i18n包中: $ ls src/main/java/com/project/i18n/ Internationalization.java MessagesBundle_fr.properties MessagesBundle.properties MessagesBundle_us.properties 当我通过mvn运行tomcat时,tomcat:run一切正
servlet
项目,因此我将所有MessageBundle
文件放在com.project.i18n
包中:
$ ls src/main/java/com/project/i18n/
Internationalization.java MessagesBundle_fr.properties MessagesBundle.properties MessagesBundle_us.properties
当我通过mvn运行tomcat时,tomcat:run
一切正常,我得到了正确的语言;但是如果将project.war
文件部署到tomcat/webapps
目录,则本地化消息不再工作,当我检查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" />
..
...
..
如何解决这个问题有什么帮助吗?tnx.难道MessageBundle文件必须转到src/main/resources而不是src/main/java吗
sourceDirectory配置中是否有任何筛选器?国际化文件应位于
/src/main/resources
文件夹中。请参阅以下内容
我将
MessageBundle
文件移动到src/main/resources
并修改了索引页上的setBundle
,如下所示:
<fmt:setBundle basename="MessagesBundle" />
现在它可以工作了。您粘贴的链接还将捆绑文件放置在
包中,而不是main/resoruces
是的,它应该在包中,但在资源中,而不是在java
中。i、 e.:src/main/resources/com/project/messages/
它是一个sevlet项目,而不是jsf