在其他PC上找不到ResourceBundle

时间:2019-03-08 13:49:43

标签: java jsp jstl resourcebundle

我有一个使用JSP的Servlet项目,对此我做了一个i18n。 我的resources.properties文件位于src/main/resources/中,并且都可以在我的PC上运行(Windows 10)。 我将更新提交给git,我的朋友拿来了它,但是它没有用。似乎找不到资源束。他有捆绑变量名称而不是值。

在JSP中,我这样做: 在顶部<fmt:setBundle basename="resources"/>(资源是分发包名称)中, 并将每个值替换为<fmt:message key="leftbar.librarian"/> 当我想从JSP更改语言时,我做了:

<c:choose>
    <c:when test="${cookie.get('language').value == 'ru'}">
        <fmt:setLocale value='ru' scope="session"/>
    </c:when>
    <c:otherwise>
        <fmt:setLocale value='en' scope="session"/>
    </c:otherwise>
</c:choose>
<fmt:setBundle basename="resources"/>

并通过JS通过单击按钮设置cookie。这些都可以在我的PC上运行。在另外三台PC上,捆绑软件未加载(但没有错误)。

那么,我应该如何在Java中定义包,以便其他人可以得到它?

P.S。我没有使用Java代码对其进行配置。全部在JSP中。但是如果我错了,就可以重构。

1 个答案:

答案 0 :(得分:1)

已解决。找不到Tomcat从/ resources路径返回。因此,我不得不将捆绑软件移至根目录。现在,项目将在所有PC上启动