在GWT 2.4.0和Guava GWT 10.0.1中是否支持Predicates和Functions?两个接口都标记为@GwtCompatible.
在调试托管模式下运行项目时,我在以下情况下收到运行时验证错误Predicate:
[错误] [MyProject] - 第XXY行:导入javax.annotation.Nullable无法解析
[错误] [MyProject] - 行YYY:Nullable无法解析为某种类型
从其他StackOverflow帖子中,我相信这些错误不应该要求包括JSR 305在路径中的Guava版本09(包括路径中的JSR 305无论如何都没有解决问题).
我似乎也收到了几个接口不匹配错误:
[错误] [MyProject] - 第XXX行:类型new Function(){}必须实现继承的抽象方法Function.apply(Object)
[错误] [MyProject] - 行YYY:new函数(){}的方法apply(MyType)必须覆盖或实现超类型方法
,以及Predicate我作为错误提交的类似错误:http://code.google.com/p/guava-libraries/issues/detail? id = 765
关于我的设置可能出错的任何想法?
我的Project .gwt.xml文件包含以下行:
<inherits name="com.google.common.collect.Collect" />
<inherits name="com.google.common.base.Base" />
Run Code Online (Sandbox Code Playgroud)
我的java文件包含以下导入:
import com.google.common.base.Function;
import com.google.common.base.Predicate;
Run Code Online (Sandbox Code Playgroud)
我正在使用Eclipse 3.7.1和JavaSE-1.6
这是一种已知的错误,您需要在 WEB-INF/lib 中添加 jsr305.jar。
另一件需要注意的事情是,番石榴的部分内容被捆绑在 GWT*.jar 中,但它们被放在单独的包 com.google.gwt.thirdparty.guava.common 中......并且通常如此Eclipse 发生的情况是,在解析导入时,它会获取错误的导入,这会在运行时导致混乱,因为打包在 com.google.gwt.thirdparty.guava 中的类来自另一个版本,并且不得引用。
我的建议:
对所有 *.java 文件进行文本搜索以查找“第三方”子字符串,并将其替换为正确的导入 - 它对我有用。
更深入一点的解释是,在以前版本的 Guava jsr305 中包含在 guava jar 中,但在这个版本中,他们将其取出,并且对它的依赖确实出现在 lib 的 Maven pom 中,但在网站上没有详细记录。这给用户造成了很多困惑。
| 归档时间: |
|
| 查看次数: |
1748 次 |
| 最近记录: |