无法编译gwt-dev jar的com.google.gwt.thirdparty.guava.common.base.Optional包

时间:2014-12-17 13:07:13

标签: java gwt

我想使用瓜瓦罐的Optional类。我可以在我的项目中使用它。但是,在gwt-dev jar中,Optional类已经存在于包com.google.gwt.thirdparty.guava.common.base.Optional中。所以,我不想使用guava jar来使用Optional类。所以,我正在尝试使用可选类的gwt-dev jar。

我所做的步骤:

  • 我在项目中创建了com.google.gwt.thirdparty.guava.common.base
  • 在该软件包中,我创建了Base.gwt.xml文件。

    <?xml version="1.0" encoding="utf-8"?>
    <!-- semi-autogenerated module descriptor -->
    <module>
       <source path="">
     </source>
    </module>
    
  • 我已将Base.gwt.xml文件包含在我的gwt.xml文件中。

虽然我已完成上述步骤,但我无法编译代码。我得到以下例外:

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

任何建议都会受到欢迎。

1 个答案:

答案 0 :(得分:5)

您不应该使用com.google.gwt.thirdparty.* - 这些是内部重新包装的罐子。不能保证它们会出现在GWT的下一个版本中 - 实际上,我希望它们(至少是Guava部分)被移除,而不是“vanilla”Guava,as suggested in this thread。为了进一步强化这一点,gwt-dev.jar中没有附加源代码(正如您所经历的那样),因此您无法在客户端代码中使用它们。

请使用对Google Guava的正常依赖 - GWT编译器将编译您正在使用的Guava部分(特别是如果您只是继承com.google.common.base.Base)并删除其余部分。