我想使用瓜瓦罐的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>
虽然我已完成上述步骤,但我无法编译代码。我得到以下例外:
没有源代码可用于com.google.gwt.thirdparty.guava.common.base.Optional类型;你忘了继承一个必需的模块吗?
任何建议都会受到欢迎。
答案 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
)并删除其余部分。