GWT 2.7.0编译失败[错误]无法找到类java / lang / Object

时间:2015-04-29 08:38:36

标签: gwt-2.7

我有一个在2.6.1中构建的项目,并且无法在2.7.0中构建。我已经在互联网上找到了一个很好的答案,但我找不到。

以下是Maven构建的输出:

......无趣的东西被移除

[INFO] Compiling module XXXX
[INFO]    Looking for precompiled archives.  To disable, use -Dgwt.usearchives=false
[INFO]    Loading archived module: jar:file:/C:/Users/3433/.m2/repository/com/google/gwt/gwt-user/2.7.0/gwt-user-2.7.0.jar!/com/google/gwt/core/Core.gwtar

...

[INFO]    Compiling...
[INFO]       Compilation completed in 5,95 seconds
[INFO]    Invalid Unit: com.google.gwt.validation.client.impl.BaseGwtConfiguration
[INFO]    Invalid Unit: com.google.gwt.validation.client.spi.GwtValidationProvider

...删除了其他无效单位

[INFO]    Invalid Unit: com.google.gwt.validation.client.spi.BaseConfigurationState
[INFO]    Invalid Unit: java.lang.String
[INFO]    Invalid units found: 11
[INFO]    Compiling...
[INFO]       Compilation completed in 0,04 seconds
[INFO]    Added 3762 units to cache since last cleanup.
[INFO]    Tracing compile failure path for type 'java.lang.String'
[INFO]       Errors in 'jar:file:/C:/Users/3433/.m2/repository/com/google/gwt/gwt-user/2.7.0/gwt-user-2.7.0.jar!/com/google/gwt/emul/java/lang/String.java'
[INFO]          Line 976: The method getDefault() is undefined for the type Locale
[INFO]    Removing invalidated units
[INFO] Wrote 3762 units to persistent cache.
[INFO]    Resolving java.util.Locale
[INFO]       Found type 'java.util.Locale'
[INFO]          [WARN] Unable to resolve supertype java/lang/Object

删除了许多错误......

[INFO]    Resolving com.google.gwt.core.client.AsyncProvider
[INFO]       Found type 'com.google.gwt.core.client.AsyncProvider'
[INFO]          [ERROR] Unable to find class java/lang/Object

[INFO]          Resolving method get
[INFO]             Found type 'com.google.gwt.core.client.Callback'
[INFO]                [ERROR] Unable to find class java/lang/Object

删除了数百个类似的错误

[INFO]    Tracing compile failure path for type 'java.lang.Object'
[INFO]       [ERROR] Errors in 'file:/usr/local/google/home/dankurka/gwt/user/super/com/google/gwt/emul/java/lang/Object.java'
[INFO]          [ERROR] java.lang.String cannot be resolved to a type

Dan Kurka在我的构建中的主要道路是什么?

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我知道这是一个老帖子,但我最近遇到了同样的问题,所以我想我会发布我的发现。

就我而言,我正在从GWT 2.5.1升级到2.7.0。我们的代码中有一个java.util.Locale类,因此GWT编译器具有仿真所需的所有源代码,并且它与GWT 2.7.0中相同类的结构不匹配。我不得不添加缺少的方法,之后就好了。

要查找原因,我必须使用-Dgwt.logLevel = DEBUG参数重新编译。没有这个设置,我的问题的根本原因被隐藏了。当我使用日志级别集编译时,我能够看到问题所在:

[INFO]    Compiling...
[INFO]       30% complete (ETR: 9 seconds)
[INFO]       30% complete (ETR: 9 seconds)
[INFO]       30% complete (ETR: 9 seconds)
[INFO]       30% complete (ETR: 9 seconds)
[INFO]       40% complete (ETR: 8 seconds)
[INFO]       50% complete (ETR: 6 seconds)
[INFO]       60% complete (ETR: 4 seconds)
[INFO]       70% complete (ETR: 3 seconds)
[INFO]       80% complete (ETR: 2 seconds)
[INFO]       90% complete (ETR: 1 seconds)
[INFO]       100% complete (ETR: 0 seconds)
[INFO]       Compilation completed in 11.10 seconds
[INFO]    java.util.Locale isn't structurally same.
[INFO]    Invalid Unit: java.lang.String
[INFO]    Invalid units found: 1
[INFO]    Compiling...
[INFO]       Compilation completed in 0.02 seconds
[INFO]    Added 5097 units to cache since last cleanup.
[INFO]    Tracing compile failure path for type 'java.lang.String'
[INFO]       Errors in 'jar:file:/Users/randymay/.m2/repository/com/google/gwt/gwt-user/2.7.0/gwt-user-2.7.0.jar!/com/google/gwt/emul/java/lang/String.java'
[INFO]          Line 991: The method getDefault() is undefined for the type Locale
[INFO]          Line 976: The method getDefault() is undefined for the type Locale
[INFO]       Checked 1 dependencies for errors.