Использование Guava с GWT

может кто-нибудь сказать мне, что мне нужно сделать, чтобы включить поддержку Guava в GWT.

Я загрузил Guava R07, и там есть следующие два файла:

  • guava-r07.Джар
  • guava-r07-gwt.Джар

У меня есть несколько вопросов относительно этого:

  1. куда идут эти файлы? Я предполагаю, что стандартный Jar доступен для моей IDE для кодирования, и что оба они доступны для компилятора GWT для создания JavaScript?
  2. мне нужно добавить все .ГВт.xml-файлы из-gwt.jar в основной gwt моего проекта.xml-файл или только те части, которые мне нужны?
  3. есть другие банки на багажнике проекта Guava&GWT (т. е. не в загрузке, например, для jsr305), которые, я думаю, мне могут понадобиться, но я не уверен.

извините, обычно у меня нет проблем с такими вещами, но я не могу понять, что происходит где.

FYI я использую GWT 1.6 на данный момент, но я надеюсь скоро перейти на 2. Если Guava не совместим с 1.6, это не проблема.

обновление

У меня есть следующие файлы в папке с именем gwtlib:

  • guava-r07-gwt.Джар
  • guava-r07.Джар
  • jsr305-1.3.9.Джар

и мой скрипт Ant делает следующее:

<path id="project.class.path">
    <fileset dir="gwtlibs" includes="guava-r07.jar"/>
    <fileset dir="gwtlibs" includes="guava-r07-gwt.jar"/>
    <fileset dir="gwtlibs" includes="jsr305-1.3.9.jar"/>
    <pathelement location="${gwt.sdk}/gwt-user.jar"/>
    <fileset dir="${gwt.sdk}" includes="gwt-dev*.jar"/>
</path>

<target name="gwtc">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
        <classpath>
            <pathelement location="app"/>
            <path refid="project.class.path"/>
        </classpath>
        <jvmarg value="-Xmx256M"/>
        <arg value="-localWorkers"/>
        <arg value="2"/>
        <arg value="-war"/>
        <arg value="gwt-public"/>
        <arg value="Main"/>
    </java>
</target>

запуск вышеуказанной команды, я получаю следующее ошибки:

  • ошибки в ' jar: file:// / project / gwtlibs / guava-r07-gwt.Джар!/ com / google / общие/собирать / ограничения.java'
  • строка 254: подлист метода (int, int) не определен для списка типов

без JSR jar на пути к классам я получаю следующие ошибки:

  • импорт javax.аннотация не может быть разрешена
  • Nullable не может быть разрешен для a тип

спасибо

богатое

2 ответов


Guava не совместим с GWT 1.6. Список.сублист, в частности, добавляется к GWT в GWT 2. Самая ранняя версия, которую мы полностью поддержали, - GWT 2.0.4


  1. добавьте эти банки в свой путь к классам. Если вы используете IDE, добавьте их в свой путь сборки, щелкнув правой кнопкой мыши " ссылочные библиотеки "в своем экспортере пакетов, выберите" Настроить путь сборки " и добавьте их как внешние банки.
  2. вам нужно только наследовать модули, которые вы планируете использовать в своем .ГВт.XML-файл. Например, если вы используете только , просто добавьте <inherits name="com.google.common.collect.Collect" />
  3. вам, вероятно, не нужен jsr305.jar, но если вы это сделаете, просто добавьте его так же, как вы добавили другие банки.

Guava должен работать отлично с GWT 1.6, если это не так, то это, вероятно, ошибка.