我想使用可选类的番石榴罐.我可以在我的项目中使用它.但是,在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>
Run Code Online (Sandbox Code Playgroud)虽然我已经完成了上述步骤,但我无法编译代码.我得到以下例外:
没有源代码可用于com.google.gwt.thirdparty.guava.common.base.Optional类型; 你忘了继承一个必需的模块吗?
任何建议都会被认可.
你不应该使用com.google.gwt.thirdparty.*- 那些是内部重新包装的罐子.不能保证它们会出现在GWT的下一个版本中 - 实际上,我希望它们(至少是Guava部分)被移除,而不是像这个线程中所建议的那样 "vanilla"Guava .为了进一步强化这一点,gwt-dev.jar中没有附加源代码(正如您所经历的那样),因此您无法在客户端代码中使用它们.
请使用对Google Guava的正常依赖 - GWT编译器只会在您正在使用的Guava部分进行编译(特别是如果您只是继承com.google.common.base.Base)并删除其余部分.