Почему я получаю сообщение об ошибке «На выполнение плагина не распространяется конфигурация жизненного цикла с GWT»? - PullRequest
27 голосов
/ 15 декабря 2011

Я использую STS и импортировал проект GWT с другого компьютера.В проекте используется m2eclipse.Я получаю две ошибки при создании проекта:

Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:gwt-maven-plugin:2.2.0:i18n (execution: default, phase: generate-sources)    pom.xml /contactsgwt    line 175
Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-war-plugin:2.1.1:exploded (execution: default, phase: compile)  pom.xml /contactsgwt    line 198

Что не так?Есть ли необходимость в дальнейшей настройке для работы gwt maven plugin?

Код pom.xml, вызывающий ошибку:

<!-- GWT Maven Plugin -->
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>gwt-maven-plugin</artifactId>
    <version>2.2.0</version>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test</goal>
                <goal>i18n</goal>
            </goals>
        </execution>
    </executions>
    <!-- Plugin configuration. There are many available options, see gwt-maven-plugin documentation at codehaus.org -->
    <configuration>
        <runTarget>Contacts.html</runTarget>
        <hostedWebapp>${webappDirectory}</hostedWebapp
        <i18nMessagesBundle>es.indra.gwt.contactsgwt.client.ContactsMessages</i18nMessagesBundle>
    </configuration>
</plugin>

<!-- Copy static web files before executing gwt:run -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <executions>
        <execution>
            <phase>compile</phase>
            <goals>
                <goal>exploded</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <webappDirectory>${webappDirectory}</webappDirectory>
    </configuration>
</plugin>

<plugin>
    <groupId>org.maven.ide.eclipse</groupId>
    <artifactId>lifecycle-mapping</artifactId>
    <version>0.9.9-SNAPSHOT</version>
    <configuration>
        <mappingId>generic</mappingId>
        <configurators></configurators>
        <mojoExecutions>
            <mojoExecution runOnIncremental="true">org.codehaus.mojo:gwt-maven-plugin:2.2.0:i18n</mojoExecution>
            <mojoExecution runOnIncremental="true">org.apache.maven.plugins:maven-resources-plugin:2.4.1:resources</mojoExecution>
            <mojoExecution runOnIncremental="false">org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile</mojoExecution>
            <mojoExecution runOnIncremental="false">org.apache.maven.plugins:maven-war-plugin:2.1.1:exploded</mojoExecution>
            <mojoExecution runOnIncremental="false">org.apache.maven.plugins:maven-resources-plugin:2.4.1:testResources</mojoExecution>
        </mojoExecutions>
    </configuration>
</plugin>

1 Ответ

46 голосов
/ 16 декабря 2011

Если вы используете Eclipse Indigo (3.7), вы должны активировать плагин жизненного цикла. Смотрите здесь для более подробной информации.

Просто добавьте этот pluginManagement раздел в ваш build раздел вашего pom.xml файла

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
            <configuration>
                <lifecycleMappingMetadata>
                    <pluginExecutions>
                        <pluginExecution>
                            <pluginExecutionFilter>
                                <groupId>org.codehaus.mojo</groupId>
                                <artifactId>gwt-maven-plugin</artifactId>
                                <versionRange>[2.4.0,)</versionRange>
                                <goals>
                                    <goal>resources</goal>
                                    <goal>compile</goal>
                                    <goal>i18n</goal>
                                    <goal>generateAsync</goal>
                                </goals>
                            </pluginExecutionFilter>
                            <action>
                                <execute />
                            </action>
                        </pluginExecution>
                        <pluginExecution>
                            <pluginExecutionFilter>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-war-plugin</artifactId>
                                <versionRange>[2.1.1,)</versionRange>
                                <goals>
                                    <goal>exploded</goal>
                                </goals>
                            </pluginExecutionFilter>
                            <action>
                                <execute />
                            </action>
                        </pluginExecution>
                    </pluginExecutions>
                </lifecycleMappingMetadata>
            </configuration>
        </plugin>
    </plugins>
</pluginManagement>
...