Использование Guava с GWT
может кто-нибудь сказать мне, что мне нужно сделать, чтобы включить поддержку Guava в GWT.
Я загрузил Guava R07, и там есть следующие два файла:
- guava-r07.Джар
- guava-r07-gwt.Джар
У меня есть несколько вопросов относительно этого:
- куда идут эти файлы? Я предполагаю, что стандартный Jar доступен для моей IDE для кодирования, и что оба они доступны для компилятора GWT для создания JavaScript?
- мне нужно добавить все .ГВт.xml-файлы из-gwt.jar в основной gwt моего проекта.xml-файл или только те части, которые мне нужны?
- есть другие банки на багажнике проекта 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
- добавьте эти банки в свой путь к классам. Если вы используете IDE, добавьте их в свой путь сборки, щелкнув правой кнопкой мыши " ссылочные библиотеки "в своем экспортере пакетов, выберите" Настроить путь сборки " и добавьте их как внешние банки.
- вам нужно только наследовать модули, которые вы планируете использовать в своем .ГВт.XML-файл. Например, если вы используете только , просто добавьте
<inherits name="com.google.common.collect.Collect" />
- вам, вероятно, не нужен jsr305.jar, но если вы это сделаете, просто добавьте его так же, как вы добавили другие банки.
Guava должен работать отлично с GWT 1.6, если это не так, то это, вероятно, ошибка.