Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
Gwt i18nCreator生成参数类型不是字符串的消息接口_Gwt_Maven_Internationalization - Fatal编程技术网

Gwt i18nCreator生成参数类型不是字符串的消息接口

Gwt i18nCreator生成参数类型不是字符串的消息接口,gwt,maven,internationalization,Gwt,Maven,Internationalization,我在努力学习GWT。我在中完成了StockWatcher示例应用程序 然后我进入下一步:(I18N) I18N教程让您手动创建消息和常量接口。其中一个消息文件如下所示: public interface StockWatcherMessages extends Messages { @DefaultMessage("''{0}'' is not a valid symbol.") String invalidSymbol(String symbol); @Default

我在努力学习GWT。我在中完成了StockWatcher示例应用程序

然后我进入下一步:(I18N)

I18N教程让您手动创建消息和常量接口。其中一个消息文件如下所示:

public interface StockWatcherMessages extends Messages {
    @DefaultMessage("''{0}'' is not a valid symbol.")
    String invalidSymbol(String symbol);

    @DefaultMessage("Last update: {0,date,medium} {0,time,medium}")
    String lastUpdate(Date timestamp);
}
public interface StockWatcherMessages extends com.google.gwt.i18n.client.Messages {
    @DefaultMessage("''{0}'' is not a valid symbol.")
    @Key("invalidSymbol")
    String invalidSymbol(String arg0);

    @DefaultMessage("Last update: {0,date,medium} {0,time,medium}")
    @Key("lastUpdate")
    String lastUpdate(String arg0);
}
请注意其中一个方法中的
Date
type参数。这允许我在调用此方法时传入一个
Date
实例,并以本地化方式显示它。这很管用

GWT还有一个名为i18nCreator的工具,可用于根据相应的
.properties
文件为您生成这些接口

我正在使用来构建我的应用程序和

所以我的问题是,当我显式地或通过maven插件使用i18nCreator时,我最终得到了如下消息接口:

public interface StockWatcherMessages extends Messages {
    @DefaultMessage("''{0}'' is not a valid symbol.")
    String invalidSymbol(String symbol);

    @DefaultMessage("Last update: {0,date,medium} {0,time,medium}")
    String lastUpdate(Date timestamp);
}
public interface StockWatcherMessages extends com.google.gwt.i18n.client.Messages {
    @DefaultMessage("''{0}'' is not a valid symbol.")
    @Key("invalidSymbol")
    String invalidSymbol(String arg0);

    @DefaultMessage("Last update: {0,date,medium} {0,time,medium}")
    @Key("lastUpdate")
    String lastUpdate(String arg0);
}
lastUpdate
的参数现在是一个字符串。这会导致我的代码的其余部分编译失败,这些代码使用
Date
实例调用此方法

如何使i18nCreator在适当时使用Java类型而不是字符串创建接口?我对
Date
有这个问题,但我想它可能会出现其他类型的问题,比如
Money
Double
或其他任何类型