java.lang.NoSuchMethodError: com.google.gwt.util.tools.Utility.versionCompare - Google Web Toolkit SDK 2.6.0

java.lang.NoSuchMethodError: com.google.gwt.util.tools.Utility.versionCompare - Google Web Toolkit SDK 2.6.0

我的项目使用 gwt maven 插件 2.5.1 和 gwt 2.5.1。我的 Eclipse IDE 已经安装了 Google Web Toolkit SDK 2.6.0。

当我使用超级开发模式调试我的项目时,出现错误

java.lang.NoSuchMethodError: com.google.gwt.util.tools.Utility.versionCompare

我检查了错误。此错误是由 class int enum com.google.gwt.dev.util.arg.SourceLevel 引起的,此 class 有以下行代码 make error:

 if (Utility.versionCompare(javaVersionString, sourceLevels[i].stringValue) >= 0) {
文件 gwt-dev-2.5.1-sources.jar 中的

class com.google.gwt.util.tools.Utility 没有方法 Utility.versionCompare。我曾尝试将 gwt 升级到更高版本,但与我项目中的另一个库发生了巨大冲突。 我的问题是:如何 运行 Google Web Toolkit SDK 2.6.0 与项目 GWT-2.5.1 ?

如果这是一个 Maven 项目,那么 M2Eclipse 和 Eclipse 的 Google 插件应该自动配置项目以使用从您的 POM 引用的 GWT,而不是您可以在 Eclipse 中安装的那个.

所以问题是类路径上有 GWT 2.6;您的项目配置错误。尝试重新导入它;你应该在你的依赖项中有一个GWT ,因为GWT JARs应该出现在"Maven Dependencies" .

如果您的项目总是使用 Maven,那么您可以卸载作为 Eclipse 插件捆绑的 GWT SDK(如您的屏幕截图所示)。