2011-04-20 17 views
7

GWT 2.2及更高版本包括番石榴。包含番石榴的包装是com.google.gwt.thirdparty.guava。但是,似乎并没有模块XML文件允许将此包用于客户端(可翻译)代码中。基于这一观察,似乎这个番石榴的副本只能用于GWT内部使用。使用与GWT捆绑在一起的番石榴

对于使用番石榴的GWT项目,建议单独下载番石榴的方法?如果没有,在客户端代码中包含com.google.gwt.thirdparty.guava的过程是什么?

回答

7

是的,如果你想自己使用番石榴,你需要番石榴和guava-gwt罐子,并在你的gwt.xml文件中引用你想要的模块。在过去,你也需要jsr305,虽然我的理解是这是固定的,所以你可能不需要在r09中

+0

为我工作。我从这里https://code.google.com/p/guava-libraries/将这两个文件(第13版)添加到我的war/WEB-INF/lib中,并将guava-13.0.1.jar添加到我的构建路径中(右点击并添加构建路径) – eddyparkinson 2012-10-29 05:09:08

3

你的假设是正确的;它仅供内部使用;单独下载。如果使用Maven,请在pom.xml中包含以下内容:

<dependency> 
    <groupId>com.google.guava</groupId> 
    <artifactId>guava</artifactId> 
    <version>r07</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>com.google.guava</groupId> 
    <artifactId>guava</artifactId> 
    <version>r07</version> 
    <classifier>gwt</classifier> 
    <scope>provided</scope> 
</dependency> 
<!-- for the source/classes for javax.annotation --> 
<dependency> 
    <groupId>com.google.code.findbugs</groupId> 
    <artifactId>jsr305</artifactId> 
    <version>1.3.9</version> 
    <scope>provided</scope> 
</dependency> 
+0

目前Maven中没有任何Guava GWT jar包可用。它看起来应该是下一个版本(r10),它将是一个独立的工件,称为guava-gwt,它依赖于番石榴。您不需要将jsr305 jar作为依赖项。 – ColinD 2011-04-21 12:57:14

+0

@ColinD是的,没错。我们最终自己打包并将其托管在我们的内部Maven存储库中。 – 2011-04-21 15:26:07