Compiler construction GWT 2.X找不到密钥的资源

Compiler construction GWT 2.X找不到密钥的资源,compiler-construction,gwt,Compiler Construction,Gwt,我使用i18n国际化开发了一个GWT应用程序。在Host/Dev模式下,它可以正常工作,但启动GWT compile会出现以下错误:找不到键xxx的资源,如下所示 Compiling module ...rte.RTE Scanning for additional dependencies: file:/home/.../client/i18n/RTEValidationMessages.java Computing all possible rebind results f

我使用i18n国际化开发了一个GWT应用程序。在Host/Dev模式下,它可以正常工作,但启动GWT compile会出现以下错误:找不到键xxx的资源,如下所示

Compiling module ...rte.RTE
   Scanning for additional dependencies: file:/home/.../client/i18n/RTEValidationMessages.java
      Computing all possible rebind results for '...client.i18n.RTEMessages'
         Rebinding ...client.i18n.RTEMessages
            Invoking com.google.gwt.dev.javac.StandardGeneratorContext@e7dfd0
               Processing interface ...client.i18n.RTEMessages
                  Generating method body for txtIndirizzo3()
                     [ERROR] No resource found for key 'txtIndirizzo3'
消息是用后期绑定加载的

public class RTEValidationMessages {
    private RTEMessages additionalMessages; 

    public RTEValidationMessages() {
        additionalMessages = GWT.create(RTEMessages.class);
    }
}
删除给出错误的方法,会导致另一个随机方法出现错误,比如在接口…client.i18n.RTEMessages中不是前面或后面的方法


非常感谢您的帮助

我曾经在使用国际化时遇到过类似的错误。我有英语和波兰语的属性文件:
labels\u en.properties
labels\u pl.properties
。解决方案是创建一个文件
labels.properties
(在我的例子中,它只是
labels\u en.properties
的一个副本)。这很奇怪,但不知怎么的,它起了作用

您还应该将属性文件与
类放在同一个包中。

还有两件重要的事情(请参阅):

为了使用国际化的 角色,请确保您的主机 HTML文件包含charset=utf8 中的元标记中的内容类型 标题:

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

您还必须确保所有相关的 已设置源文件和.properties文件 在您的应用程序中使用UTF-8字符集 IDE


谢谢谷歌应该让他们的展示项目更加模块化。使用其中的代码片段非常不方便,因为像这样的依赖关系。当在特定的语言环境文件中找不到密钥时,GWT将此文件作为默认文件使用。您也可以在
@DefaultMessage