我正在使用Eclipse开发Maven项目。
我尝试在Eclipse中使用externalize Strings向导。默认情况下,生成的messages.properties
位于“src / main / java”文件夹中。然而,当使用Maven打包我的项目时,属性文件将从创建的jar文件中抛出。因此我尝试将message.properties移动到“src / main / resources”文件夹,但似乎Eclipse不接受它!
我宁愿不修改我的pom.xml
,因为它在企业中非常标准化。那么有没有办法强制Eclipse接受“src / main / java”中的属性文件?
感谢您的帮助。
答案 0 :(得分:2)
我在eclipse.org上为此创建了bug 369296,并且在此过程中,我找到了解决办法。 事实证明,m2e插件(在eclipse中管理maven项目)在任何资源目录中添加了“**”的排除过滤器。此排除筛选器阻止NLS向导将该资源目录用作其源文件夹。
因此,要解决此问题,请在eclipse中编辑构建路径,并从src / main / resources文件夹中删除**排除项。然后,运行NLS向导并执行您想要执行的所有NLS-y操作。最后,让m2e重新生成项目配置 - 这将重新添加**排除。
希望这会有所帮助。看起来他们会修复我的错误。
答案 1 :(得分:1)
如果您使用的是spring,请确保在您的应用程序servlet上下文中包含:
<resources mapping="/resources/**" location="/resources/" />
在你的JSP中:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:message key="whatever.key.from.message.file" />
答案 2 :(得分:1)
在Eclipse中使用externalize Strings向导后,它将属性文件放在src / main / java中,因此将属性文件移动到src / main / resources(在eclipse中使用refactor / move或在eclipse之外)然后通过从命令行
在项目根文件夹中运行以下命令,使用maven重新创建eclipse项目文件mvn eclipse:eclipse
然后在eclipse中清理并刷新项目。