Maven Eclipse Autobuilder продолжает строить, хотя ничего не изменилось - PullRequest
3 голосов
/ 14 декабря 2011

Я использую Eclipse (Indigo) с плагином M2E для Maven. Теперь по какой-то причине автостроитель продолжает перестраивать проект без изменений примерно 50 раз, пока он не будет удовлетворен, что требует много ресурсов и является основной проблемой ...

Я снова и снова получаю следующий вывод:

14.12.11 12:32:17 MEZ: Maven Builder: AUTO_BUILD requireFullBuild
14.12.11 12:32:17 MEZ: [WARN] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
14.12.11 12:32:17 MEZ: [INFO] Copying 2 resources
14.12.11 12:32:17 MEZ: [INFO] Nothing to compile - all classes are up to date
14.12.11 12:32:17 MEZ: [WARN] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
14.12.11 12:32:17 MEZ: [INFO] Copying 5 resources

Я пытался отключить Auto Builder и перевести Maven в автономный режим, но, похоже, ничего не помогло. Почему он вообще "требует полной сборки"?

Это поведение также вызывается любым изменением содержимого в коде, хотя и незначительным (например, установка конечной переменной другого значения int).

Как я могу отследить это до источника? Другие проекты, похоже, не демонстрируют такого поведения ... Я не понимаю, как у M2E создается впечатление, что требуется полная перестройка, даже если это было ПРОСТО ...

Спасибо!

Редактировать за комментарий:

У нас есть следующие настройки плагинов в нашем pom:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <configLocation>checkstyle.xml</configLocation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>

            <!-- Javadoc -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- Source Jar -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-java2ws-plugin</artifactId>
                <version>${cxf.version}</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-frontend-jaxws</artifactId>
                        <version>${cxf.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-frontend-simple</artifactId>
                        <version>${cxf.version}</version>
                    </dependency>
                </dependencies>

                <executions>
                    <execution>
                        <id>process-classes</id>
                        <phase>process-classes</phase>
                        <configuration>
                            <className>path.to.PersonService</className>
                            <genWsdl>true</genWsdl>
                            <verbose>true</verbose>
                        </configuration>
                        <goals>
                            <goal>java2ws</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-webdav-jackrabbit</artifactId>
                <version>1.0</version>
            </extension>
        </extensions>

    </build>

Ответы [ 2 ]

4 голосов
/ 10 января 2013

1.Чистим проект Maven Eclipse:
mvn clean eclipse: clean -Dmaven.test.skip
2. создать проект maven:
mvn clean eclipse: затмение
3. импортировать и обновить ваш проект в Eclipse IDE.

после этих шагов журнал автоматической сборки пропущен.

1 голос
/ 14 декабря 2011

Это зависит от того, какие плагины вы привязали к этапам вплоть до компиляции. M2E должен справляться с плагинами по умолчанию (maven-compiler-plugin, maven-resources-plugin) и т. Д. Есть ли у вас какие-нибудь плагины для генерации кода (JAXB и т. Д.)?

EDIT

У меня не было конца проблем с m2e и генерацией кода; в конце концов я вернулся к m2eclipse, который все еще довольно глючит.

Я рекомендую переместить поколение cxf wsdl в другой модуль того же проекта, а затем добавить его в качестве зависимости. Держите этот проект закрытым в Eclipse (как только вы mvn install его сделаете), если только вы не редактируете его.

Надеюсь, что такой обходной путь станет ненужным по мере улучшения m2e.

...