Я пытаюсь запустить компиляцию GWT с помощью maven через плагин: gwt-maven-plugin, но модуль GWT содержится в пути источника теста, а именно: src/test/java. И плагин жалуется, что он не может найти модуль GWT.Как скомпилировать модуль GWT, содержащийся в тестовом источнике с gwt-maven-plugin?
Однако модуль отлично работает при использовании его через файл запуска Eclipse, используя GWT-класс DevMode. Почему модуль gwt maven не может найти модуль GWT?
Проект содержит 2 модуля Gwt, 1 GwtTotalProd содержит int he main source и GwtTotalTest, содержащийся в тестовом источнике. Плагин gwt maven способен создавать GwtTotalProd, но не GwtTotalTest, почему (оба работают нормально через файл запуска Eclipse)? Я пробую его с включением тестовых источников в сборке pom (см. Ниже), но не повезло.
Глядя на выход отладки maven (-X-переключатель), я могу понять, что он не может его найти, поскольку исполнение GWT SDK содержит src/main/java, но не src/test/java, и это не включая зависимости, определенные в плагине. Итак, как рассказать плагину, чтобы посмотреть путь к исходному тесту?
Я мог бы сделать это, создав дополнительный проект «test/dev», который включает в себя GwtTotalTest в основном источнике (я делаю это для других проектов), но в этом случае это нежелательно, так как это будет пустой проект с только конфигурационным файлом Gwt;) ... Или, может быть, я должен привязать его к другой фазе maven? Вместо цели «скомпилировать» я пробовал цель «тест» (тестовый компилятор, похоже, не работает, maven говорит, что он не может найти цель int he p lugin), но и не повезло ...
Я использую плагин версии 2.7.0 и конфигурации Maven:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<id>TotalProd</id>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<module>com.total.GwtTotalProd</module>
<mode>htmlunit</mode>
<draftCompile>false</draftCompile>
<disableClassMetadata>true</disableClassMetadata>
<compileReport>true</compileReport>
<warSourceDirectory>${gwt.war}</warSourceDirectory>
<webappDirectory>${gwt.output.total}</webappDirectory>
<gen>${gwt.output.total}/${gwt.gen}</gen>
<extra>${gwt.output.total}/${gwt.extra}</extra>
<fragmentCount>8</fragmentCount>
<extraJvmArgs>-Xms1G -Xmx1G -Xss1024k -Dgwt.persistentunitcache=false</extraJvmArgs>
</configuration>
</execution>
<execution>
<phase>compile</phase>
<id>TotalTest</id>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<module>com.total.GwtTotalTest</module>
<mode>htmlunit</mode>
<draftCompile>false</draftCompile>
<disableClassMetadata>true</disableClassMetadata>
<compileReport>false</compileReport>
<warSourceDirectory>${gwt.war}</warSourceDirectory>
<webappDirectory>${gwt.output.total.test}</webappDirectory>
<gen>${gwt.output.total.test}/${gwt.gen}</gen>
<extra>${gwt.output.total.test}/${gwt.extra}</extra>
<fragmentCount>8</fragmentCount>
<extraJvmArgs>-Xms1G -Xmx1G -Xss1024k -Dgwt.persistentunitcache=false</extraJvmArgs>
<dependencies>
<dependency>
<groupId>com.company.gwt</groupId>
<artifactId>total-gwt</artifactId>
<version>${version.gen}</version>
<classifier>test-sources</classifier>
</dependency>
<dependency>
<groupId>com.company.gwt</groupId>
<artifactId>total-gwt</artifactId>
<version>${version.gen}</version>
<type>test-jar</type>
</dependency>
</dependencies>
</configuration>
</execution>
</executions>
</plugin>
Спасибо Томас. Не идеально, но я думаю, что я иду на первый вариант, даже если он будет содержать только несколько классов/конфигурационных файлов в начале. Это легко понять другими (ремонтопригодность) и следовать текущей настройке, которой мы следуем. Благодаря... – edbras