【发布时间】:2010-10-26 12:12:56
【问题描述】:
谁能告诉我我需要做什么才能在 GWT 中启用 Guava 支持。
我已经下载了Guava R07,里面有以下两个文件:
- guava-r07.jar
- guava-r07-gwt.jar
我对此有几个问题:
- 这些文件在哪里?我猜我的 IDE 可以使用标准 Jar 进行编码,而 GWT 编译器可以使用这两者来构建 JavaScript?
- 我需要将 -gwt.jar 中的所有 .gwt.xml 文件添加到我的项目的主 gwt.xml 文件中还是只添加我需要的部分?
- Guava&GWT 项目的主干上还有其他的 Jars(即不在下载中,例如 jsr305 的一个),我想我可能需要,但我不确定。
抱歉,这种事情我通常不会遇到麻烦,但我不太清楚该去哪里。
仅供参考,我目前使用的是 GWT 1.6,但我希望尽快迁移到 2。如果 Guava 与 1.6 不兼容,这不是问题。
更新
我在名为 gwtlib 的文件夹中有以下文件:
- guava-r07-gwt.jar
- guava-r07.jar
- jsr305-1.3.9.jar
我的 Ant 脚本执行以下操作:
<path id="project.class.path">
<fileset dir="gwtlibs" includes="guava-r07.jar"/>
<fileset dir="gwtlibs" includes="guava-r07-gwt.jar"/>
<fileset dir="gwtlibs" includes="jsr305-1.3.9.jar"/>
<pathelement location="${gwt.sdk}/gwt-user.jar"/>
<fileset dir="${gwt.sdk}" includes="gwt-dev*.jar"/>
</path>
<target name="gwtc">
<java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
<classpath>
<pathelement location="app"/>
<path refid="project.class.path"/>
</classpath>
<jvmarg value="-Xmx256M"/>
<arg value="-localWorkers"/>
<arg value="2"/>
<arg value="-war"/>
<arg value="gwt-public"/>
<arg value="Main"/>
</java>
</target>
运行上述命令,我得到以下错误:
- “jar:file:///project/gwtlibs/guava-r07-gwt.jar!/com/google/common/collect/Constraints.java”中的错误
- 第 254 行:方法 subList(int, int) 未为 List 类型定义
如果类路径中没有 jsr jar,我会收到以下错误:
- 导入 javax.annotation 无法解析
- Nullable 无法解析为类型
谢谢
丰富
【问题讨论】:
-
实际使用没有问题。 pgt.de/2012/07/11/using-guava-with-gwt
-
感谢 Papick - 大约 2 年前我问了我的问题 - 从那时起 GWT 和 Guava 都发生了很大的变化,最近版本的 GWT 和 Guava 绝对相互兼容。