Копирование файла из одного проекта в другой в Maven - PullRequest
15 голосов
/ 05 декабря 2011

Я работаю над многомодульным проектом.Мы используем appCtx.xml из одного модуля в нескольких других модулях.

В настоящее время проблема заключается в том, что они не всегда синхронизированы друг с другом.

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

Как скопировать appCtx.xml внутри src /main / ресурсы из проекта A в src / main / ресурсы в проекте B?

1 Ответ

42 голосов
/ 05 декабря 2011

Вы можете сделать это с помощью плагина maven resources: copy-resources , что-то вроде:

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <executions>
        <execution>
            <id>copy-appCtx</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/src/blahhere</outputDirectory>
                <overwrite>true</overwrite>
                <resources>
                    <resource>
                        <directory>../other_project/src/blah/blah</directory>
                        <includes>
                            <include>appCtx.xml</include>
                        </includes>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

Копирует файл из одного проекта (размещенного в том же дереве исходного кода)как часть фазы генерирования ресурсов.Вы можете адаптировать это к вашим потребностям.

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

...