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

Sar*_*sta 1 java gwt

我想使用可选类的番石榴罐.我可以在我的项目中使用它.但是,在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)
  • 我在我的gwt.xml文件中包含了Base.gwt.xml文件.

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

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

任何建议都会被认可.

Igo*_*mer 5

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

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