Как поделиться кодом между несколькими проектами GWT Eclipse? - PullRequest
4 голосов
/ 04 сентября 2010

Я хотел бы иметь несколько проектов GWT, которые используют общий код.Это возможно?AFAICT Каждый из моих проектов GWT должен иметь свой собственный каталог с прямым источником, что, по-видимому, препятствует совместному использованию кода.Я пытался использовать связанные папки, но GWT, похоже, не понравился (описано здесь ).

Если я хочу сделать это, это мой единственный выбор, чтобы включить код, который я хочуподелиться в файле .jar, а затем унаследовать это в XML-файлах каждого из моих проектов?Есть ли способ заставить eclipse автоматически выполнять эту упаковку, или мне нужен какой-то цикл 'change-shared-code / compile-jar / use-in-other-project'?

Есть ли другиерешения?

Ответы [ 2 ]

4 голосов
/ 06 сентября 2010

Я решаю эту проблему с помощью Maven.Общий код упакован как отдельный проект maven, а затем используется в качестве библиотеки.Вот фрагменты из файла pom.xml:

<dependency>
  <groupId>com.google.gwt</groupId>
  <artifactId>gwt-user</artifactId>
  <version>2.0.4</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>com.google.gwt</groupId>
  <artifactId>gwt-dev</artifactId>
  <version>2.0.4</version>
  <scope>provided</scope>
</dependency>

<build>
  <resources>
    <resource>
      <directory>src/main/java</directory>
      <includes>
        <include>**/client/**/*.java</include>
        <include>**/client/**/*.properties</include>
        <include>**/shared/**/*.java</include>
        <include>**/shared/**/*.properties</include>
        <include>**/*.gwt.xml</include>
      </includes>
    </resource>
  </resource>
</build>

Приведенная выше конфигурация сборки копирует дополнительные исходные файлы, необходимые для компилятора GWT, в конечный файл.

В случае использования eclipse в качестве IDE, *Плагин 1006 * m2eclipse может использоваться для автоматической обработки всех зависимостей.Можно открыть все проекты в едином рабочем пространстве, и общий путь к классу будет общим.Единственным недостатком является требование время от времени вызывать project > clean (заставит встроенный maven скопировать все ресурсы, указанные во фрагменте выше).

1 голос
/ 04 сентября 2010

Я думаю, все, что вам нужно сделать, это сделать два отдельных проекта GWT, например, проект A для общего кода и проект B, который использует код из проекта A.

Если у вас есть эти два проекта, необходимо выполнить два шага:

  1. Добавить проект A в путь сборки проекта B в Eclipse.
  2. Наследовать gwt.xml проекта A в проекте B.

Теперь вы можете использовать встроенный режим / компиляцию в Eclipse.

...