GWT - did you forget to inherit a required module?

2020-02-11 17:23发布

问题:

In my GWT application, on the client side Java file, I have written a line to print the Locale:

System.out.println(Locale.getDefault());

Here Locale is an instance of java.util.Locale.

I'm getting an exception: 09:31:53.656 [ERROR] [stockwatcher] Line 167 No source code is available for type java.util.Locale; did you forget to inherit a required module?

Surprisingly, in this class I've also used java.util.ArrayList and java.util.Date but I did not get any exception for those classes.

What am i doing wrong here?

回答1:

The client-side of GWT does not have access to the whole Java API. Java.util.Locale is one of them. You can't use or even import it on the client-side. But you can definitely use it on the server-side of GWT. You can find the list of classes that can be used at client-side here.



回答2:

In addition to information in RAS's answer, you could use GWT's class LocaleInfo to obtain information about available locales or current locale.

System.out.println(LocaleInfo.getCurrentLocale());

Hope this helps!



标签: java gwt gwt2