Eclipse + Maven + Groovy: каталог src / test / groovy удаляется после обновления конфигурации проекта - PullRequest
4 голосов
/ 07 февраля 2012

Я занимаюсь разработкой веб-проекта на Java в Eclipse (STS версия 2.8.1.RELEASE) с Maven (версия 2.2.1) и модульными тестами, написанными на Groovy. Модульные тесты расположены под src / test / groovy . Кроме того, я использую плагин m2eclipse для Eclipse (версия 1.0) и плагин Gmaven в Maven (версия 1.3).

Сборка в Maven работает без проблем: заводные файлы компилируются и выполняются как тесты. Чтобы модульные тесты работали в Eclipse, я добавил в проект природу Groovy, добавил папку src / test / groovy в Configure Build Path ... и установил для выходной папки target / test -классов .

Это работает, пока я не выполню обновление конфигурации проекта в Maven -> Обновить конфигурацию проекта ... . После того, как я делаю это каждый раз, каталог src / test / groovy удаляется из исходных папок в Eclipse, и мне нужно добавить его снова и установить выходной каталог.

Что-то мне не хватает или почему Eclipse удаляет мою конфигурацию исходной папки каждый раз, когда я обновляю конфигурацию проекта?

Моя конфигурация GMaven выглядит следующим образом:

<plugin>
    <groupId>org.codehaus.gmaven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <version>1.3</version>
    <configuration>
        <providerSelection>1.7</providerSelection>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>testCompile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Ответы [ 5 ]

1 голос
/ 08 февраля 2012

Использование builder-helper-maven-plugin помогло.Eclipse добавляет исходную папку и правильно устанавливает выходную папку.Я использовал следующую конфигурацию:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.7</version>
            <executions>
                <execution>
                    <id>add-test-source</id>
                    <phase>generate-test-sources</phase>
                    <goals>
                        <goal>add-test-source</goal>
                    </goals>
                    <configuration>
                        <sources>
                            <source>src/test/groovy</source>
                        </sources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
1 голос
/ 07 февраля 2012

У меня была похожая проблема, моя была в том, что Eclipse не позволяло мне записывать файлы в формате jovy в папку java.Но вы можете попробовать ту же самую конфигурацию или проверить весь мой pom на github

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.8</version>
            <configuration>
                <additionalProjectnatures>
                    <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
                </additionalProjectnatures>
                <!-- Source includes is necessary to allow groovy files in the java 
                    folder, else eclipse will throw a filtering exception -->
                <sourceIncludes>
                    <sourceInclude>**/*.groovy</sourceInclude>
                </sourceIncludes>
                <!-- Download sources will make maven download and attach source files 
                    where available -->
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </configuration>
        </plugin>

После того, как я вставил эту конфигурацию в pom, .classpath сгенерирован правильно.

0 голосов
/ 07 февраля 2012

Вам необходимо установить конфигуратор groovy-eclipse для m2eclipse. Это доступно с этого сайта обновления:

http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.7/

Если вы используете m2eclipse v1.0 или новее, выберите установку здесь:

m2e Configurator for Groovy-Eclipse (Optional)  

Если вы используете более старую версию m2eclipse, установите здесь:

Groovy-Eclipse m2eclipse integration pre v1.0 (deprecated)
0 голосов
/ 07 февраля 2012
0 голосов
/ 07 февраля 2012

Проверьте эту проблему на SoF здесь .Вам нужно добавить плагин build-helper-maven-plugin, чтобы получить добавленные ресурсы.

...