В PlayN, как я могу получить HTML-версию своего проекта, используя библиотеки Guava Google для компиляции? - PullRequest
1 голос
/ 03 апреля 2012

Я могу нормально запустить Java-версию своего проекта, просто импортировав библиотеки Guava следующим образом:

import com.google.gwt.thirdparty.guava.common.collect.ImmutableList;

Следуя совету здесь , я добавил эту строку в html /pom.xml:

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava-gwt</artifactId>
  <version>10.0.1</version>
</dependency>

И эта строка в файл html / project.gwt.xml:

<inherits name="com.google.common.collect.Collect"/>

Но когда я пытаюсь GWT-скомпилировать свою HTML-версию в Eclipse, яполучить ошибки, подобные следующим:

[ERROR] Line 61: No source code is available for type com.google.gwt.thirdparty.guava.common.collect.ImmutableList<E>; did you forget to inherit a required module?

Ответы [ 2 ]

3 голосов
/ 03 апреля 2012

Я думаю, вы импортируете не тот класс.Попробуйте заменить com.google.gwt.thirdparty.guava.common.collect.ImmutableList импорт на com.google.common.collect.ImmutableList.

Вот аналогичный вопрос о классе Lists: Проблема с GWT и Guava

2 голосов
/ 04 апреля 2012

Я выбрал ответ @ eneveu , так как он направил меня в правильном направлении.Вот более подробные инструкции по включению Guava в HTML-версии вашего проекта PlayN.

1.Добавьте зависимость к YourGame-core / pom.xml

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava-gwt</artifactId>
  <version>11.0.2</version>
</dependency>

2.Щелкните правой кнопкой мыши каталог YourGame-core в окне Package Explorer, затем: Maven> Обновление зависимостей

3.Для HTML5 добавьте эту строку в YourGame-html / YourGame.gwt.xml:

 <inherits name="com.google.common.collect.Collect"/> 

4.При импорте используйте правильный путь к библиотеке:

import com.google.common.collect.Foo;
/* NOT: import com.google.gwt.thirdparty.guava.common.collect.Foo; */

Я скомпилировал код по ссылке ниже и протестировал в Chrome, чтобы убедиться, что Guava успешно импортируется:

...