2013-02-15 5 views
2

Я создал проект GWT с МВН архетипа: генерировать -DarchetypeGroupId = org.codehaus.mojo -DarchetypeArtifactId = GWT-Maven-плагин -DarchetypeVersion = 2.5.0Сформирован проект с GWT-Maven-плагин: затмение

Импортировал проект в eclipse juno.

Первая ошибка, я получаю это: исполнение Плагин не охватывается конфигурации жизненным циклом: org.codehaus.mojo: GWT-maven- плагин: 2.5.0: i18n (выполнение: по умолчанию, фаза: порождающие-источники)

В файле pom.

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>gwt-maven-plugin</artifactId> 
<version>2.5.0</version> 
<executions> 
    <execution> 
    <goals> 
     <goal>compile</goal> 
     <goal>test</goal> 
     <goal>i18n</goal> 
     <goal>generateAsync</goal> 
    </goals> 
    </execution> 
</executions> 
<!-- Plugin configuration. There are many available options, see 
    gwt-maven-plugin documentation at codehaus.org --> 
<configuration> 
    <runTarget>dashboard.html</runTarget> 
    <hostedWebapp>${webappDirectory}</hostedWebapp> 
    <i18nMessagesBundle>com.farheap.jsi.dashboard.client.Messages</i18nMessagesBundle> 
</configuration> 

Также код содержит GreetingServiceAsync, которые не могут быть найдены.

private final GreetingServiceAsync greetingService = GWT.create(GreetingService.class); 
+0

Я исправил ошибку плагина следующим образом: – klind

ответ

3

У вас есть два варианта:

  1. Вы можете добавить специальные (нетривиальные) org.eclipse.m2e: Жизненный цикл-отображение конфигурации плагина к вашему П. См. Здесь: Why am I receiving a "Plugin execution not covered by lifecycle configuration with GWT" error?

  2. Или отметьте эту проблему как игнорируемую в редакторе POM Eclipse, а затем позвоните по телефону mvn gwt:i18n. Вы можете создать для него удобную ручную пусковую установку. Eclipse помнит ваши решения о том, что игнорировать, сохраняет их в каталоге .settings навсегда для проекта.

В процессе типизации сообщения о локализации развития часто не меняются, поэтому второй вариант обычно более удобен и ускоряет сборку.

Это относится к большинству плагинов GWT! Даже компиляция GWT редко необходима, поскольку DevMode работает напрямую с Java-кодом и не генерирует JavaScrips. Таким образом, на практике вам нужно называть все цели хотя бы раз в начале, а затем жить без них; простой сборник Eclipse JDT достаточно.

Если позднее вы решите не использовать локализацию GWT в своем реальном приложении, вы можете полностью удалить цель i18n из POM. Вызов цели i18n генерирует файл {project}/target/generated-sources/gwt/my/code/client/Messages.java, который требуется (ваниль) Sample.java.

Также код содержит GreetingServiceAsync, который не может быть найден.

Запустить сборку mvn install из командной строки или Eclipse Run as -> Maven install меню. В случае командной строки mvn gwt:generateAsync должно быть достаточно. Эта цель генерирует {project}\target\generated-sources\gwt\my\code\client\GreetingServiceAsync.java, и это то, что вам не хватает. Eclipse не сделал это автоматически, потому что был заблокирован предыдущим выпуском i18n, который не покрывается конфигурацией жизненного цикла. Так что да, вопросы, которые вы упомянули, коррелированы.

+1

Я не понимаю, почему gwt-maven-plugin не добавляет элементы в pom.xml, чтобы Eclipse не жаловался. Его, как и их документация, притворяется, что проблема не существует. –