Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java tomcat部署后没有MessageBundle_Java_Tomcat_Servlets_Internationalization_Jstl - Fatal编程技术网

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