GWT 2.X 未找到密钥资源

问题描述 投票:0回答:2

我使用 i18n 国际化开发了一个 GWT 应用程序。在主机/开发模式下它工作正常,但是启动 GWT 编译会出现此错误:找不到 key 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。

非常感谢您的帮助。

java gwt
2个回答
14
投票

我在使用国际化时也遇到过类似的错误。我有英语和波兰语的属性文件:

labels_en.properties
labels_pl.properties
。解决方案是还创建一个文件
labels.properties
(在我的例子中,它只是
labels_en.properties
的副本)。这很奇怪,但不知何故它有所帮助。

您还应该将属性文件保存在与您的

RTEMessages
类相同的包中。


1
投票

还有两件重要的事情(参见文档):

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

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

您还必须确保所有相关 源文件和 .properties 文件已设置 位于您的 UTF-8 字符集中 IDE。

© www.soinside.com 2019 - 2024. All rights reserved.