Как использовать build-helper-maven-plugin для создания дополнительного каталога? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть проект Java Maven со следующей структурой.(Это логическая структура, не обязательно точная структура каталогов.)

Project
|-Submodule
| |-src/main/java
| |-src/main/resources
| |-src/test/java
| |-src/test/resources
| `-pom.xml
`-pom.xml

В соответствии (с моим пониманием) стандартов Maven родительский pom ссылается на подмодуль в своем теге <modules>, аподмодуль pom ссылается на родительский pom как <parent>.

Теперь моя цель - использовать Maven для добавления двух новых исходных папок в подмодуль, а именно src/integrationTest/java и src/integrationTest/resources.Я хочу, чтобы Maven «знал» об этих двух папках, чтобы я мог выполнять в них тесты, используя мой подключаемый модуль Maven, maven-pmd-plugin.И я хочу, чтобы Eclipse «знал» об этих двух папках, чтобы они правильно отображались в графическом обозревателе проектов Eclipse.

Мне сказали, что плагин build-helper-maven-plugin можно использовать для создания этих дополнительных каталогов, которые мне нужны.Поэтому я добавил следующую конфигурацию в свой подмодуль pom:

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

Когда я перестраивал проект, Maven не генерировал нужные мне каталоги.Поэтому я взял конфигурацию плагина из моего pom подмодуля и вместо этого поместил в родительский pom.Maven все еще не генерировал мои каталоги.

На данный момент я не знаю, как заставить этот плагин работать.Я пытаюсь следовать другим онлайн-учебникам, но я, должно быть, делаю что-то не так.Может кто-нибудь объяснить, какой файл pom предназначен для настройки build-helper-maven-plugin?И как мне настроить Eclipse для корректного отображения новой структуры проекта Maven?

Спасибо за помощь!

1 Ответ

0 голосов
/ 09 февраля 2019
Комментарий

khmarbaise заставил меня осознать мою ошибку, хотя я не принял его совет.

Конфигурация build-helper-maven-plugin должна входить в подмодуль pom (а не в родительский pom) где у меня изначально было.Но Maven не будет создавать эти каталоги для вас, вы создаете каталоги, а затем Maven использует их.

Как только Maven использует ваши новые каталоги, Eclipse отображает их очень хорошо.

...