番石榴,gwt和eclipse

ran*_*836 1 gwt guava

是否可以在gwt Web应用程序的客户端代码中使用guava?如果是这样,如何将一个guava添加到Eclipse项目中?

我已经将guava-10.0.1和guava-gwt-10.0.1 jar添加到我的构建路径中,并为每个添加了源附件,但我仍然收到此错误:

没有源代码可用于com.google.gwt.thirdparty.guava.common.base.Predicate类型; 你忘了继承一个必需的模块吗?

Ste*_*e J 5

好的,看看你的导入行.它看起来像这样吗?

import com.google.gwt.thirdparty.guava.common.base.Predicate;
Run Code Online (Sandbox Code Playgroud)

那是错的.将其更改为:

import com.google.common.base.Predicate;
Run Code Online (Sandbox Code Playgroud)

如果您在Eclipse中使用完成辅助 - 控制空格键 - 请研究提供的完成列表.不要只选择第一个.向右看,它将以浅灰色文本标识完成源.如果您正在查看thirdparty.guava,请转到下一个,直到您看到google.com一个.

也许有人可以深入了解thirdparty.guava库的用途,是否需要在构建路径中,以及Guava库应该在典型的GWT项目中出现的顺序.

  • `thirdparty.guava`是GWT内部使用的Guava(和旧版)的_rebased_版本.这是在项目中使用Guava的推荐方法(_rebasing_ it),以免遭受版本冲突(又名_classpath hell_).您可以将Eclipse配置为将软件包列入黑名单以进行自动完成:Java→外观→类型过滤器,添加`com.google.gwt.thirdparth.*`(您可能还想添加`java.awt.*`) (4认同)