Плагин Maven Build Helper не создает новые каталоги в рабочем пространстве Spring Tool Suite

Я рассчитываю последовать совету из книги Spring in Practice, глава 10, по созданию отдельных каталогов для юнит-тестов и интеграционных тестов с использованием плагина Build Helper в Maven. Я работаю в Spring Tool Suite и пытаюсь добавить интеграционные тесты в проект Spring. Я настроил плагин следующим образом:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.9.1</version>
    <executions>
        <execution>
            <id>add-it-source</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-test-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>src/it/java</source>
                </sources>
            </configuration>
        </execution>
        <execution>
            <id>add-it-resource</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-test-resource</goal>
            </goals>
            <configuration>
                <resources>
                    <resource>
                        <directory>src/it/resources</directory>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

Я запускаю сборку с использованием clean и пробую снова, просто используя compile. Я получаю на экране консоли следующее:

[INFO] Scanning for projects...
[INFO] 
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building wellness Maven Webapp 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- build-helper-maven-plugin:1.9.1:add-test-source (add-it-source) @ wellness ---
[INFO] Test Source directory: /Users/walk12/Documents/workspace-sts/wellness/src/it/java added.
[INFO] 
[INFO] --- build-helper-maven-plugin:1.9.1:add-test-resource (add-it-resource) @ wellness ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ wellness ---
[WARNING] Using platform encoding (US-ASCII actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 4 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ wellness ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding US-ASCII, i.e. build is platform dependent!
[INFO] Compiling 6 source files to /Users/walk12/Documents/workspace-sts/wellness/target/classes
[WARNING] /Users/walk12/Documents/workspace-sts/wellness/src/main/java/com/kylewalker/wellness/data/EmployeeDaoJdbcImpl.java: /Users/walk12/Documents/workspace-sts/wellness/src/main/java/com/kylewalker/wellness/data/EmployeeDaoJdbcImpl.java uses unchecked or unsafe operations.
[WARNING] /Users/walk12/Documents/workspace-sts/wellness/src/main/java/com/kylewalker/wellness/data/EmployeeDaoJdbcImpl.java: Recompile with -Xlint:unchecked for details.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.374 s
[INFO] Finished at: 2014-10-18T07:48:37-07:00
[INFO] Final Memory: 15M/153M
[INFO] ------------------------------------------------------------------------`

Он говорит, что "/Users/walk12/Documents/workspace-sts/wellness/src/it/java добавлен", но в моей реальной файловой структуре, похоже, ничего не меняется. Я должен видеть где-то "src / it / java", правильно? Вместо этого, даже после закрытия и открытия проекта и нажатия кнопки "Обновить" все, что я получаю, это: введите описание изображения здесь

1 ответ

Решение

build-helper-maven-plugin:add-test-source используется для добавления дополнительных тестовых исходных каталогов в контекст сборки. Это не значит, что он фактически создаст какие-либо новые каталоги. Это просто означает, что он просто добавит существующий набор каталогов в сборку. Эти каталоги могут быть созданы вами вручную или каким-либо другим плагином во время сборки.

Предполагая, что вы уже установили разъем buildeper m2e, m2e должен был добавить src/it/java в качестве папки исходного кода. Вы можете проверить это, выполнив следующие действия

  1. Щелкните правой кнопкой мыши на проекте и нажмите Properties

  2. Теперь выберите Build Path и вы должны увидеть src/it/java в качестве отсутствующей исходной папки на вкладке Источник.

Но для того, чтобы он появился в Project Explorer в причудливой форме, которую вы ожидаете, каталог должен фактически присутствовать / генерироваться каким-то другим плагином.

Другие вопросы по тегам