Я пытаюсь настроить сборку maven для копирования всех артефактов сборки и других сгенерированных файлов в центральный каталог для распространения. После прочтения документации, плагин сборки и плагин зависимостей, кажется, те, которые нужно использовать. но я не могу заставить их хорошо играть вместе.
первый - если я следую указаниям здесь и добавлю это в мой помп верхнего уровня:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-installed</id>
<phase>install</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<type>${project.packaging}</type>
</artifactItem>
</artifactItems>
<outputDirectory>${ReleaseFolder}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
все вроде нормально, пока я не запустил чистку с последующей установкой - тогда maven жалуется, что не может найти мой pom верхнего уровня для установки. что кажется нелогичным ... я не хочу, чтобы файлы "pom" копировались, я хочу артефакты модуля. Как я могу исключить их?
И в связи с этим - есть ли способ добавить пользовательские типы или теги какого-либо типа в проекты, чтобы я мог работать с копированием зависимостей одним способом для одного типа подпроекта и другим способом для другого типа?
плохо знаком с maven - так что будьте нежны.
edit:
Структура моего проекта выглядит примерно так:
/pom.xml (top level pom)
Common_data
ComponentA
ComponentB
ComponentC
ComponentT (depends on A, B and C)
J2ee_A
j2ee_A_ear (depends on war)
j2ee_A_rar
j2ee_A_war
J2ee_B
j2ee_B_ear (depends on war)
j2ee_B_rar
j2ee_B_war
j2ee_B_jar (depends on ComponentB)
и затем $ {ReleaseFolder} указывает на / Release на том же уровне, что и пом верхнего уровня.
Продолжение: Итак, что я слышу, это зависимость: копирование - это не путь, а использование сборки.
Как заставить сборку работать на многих различных модулях, а затем скопировать полученные файлы в один выходной каталог?
Для добавления - есть два основных типа компонентов, компонент jar (создает один файл jar) и компонент j2ee, который создает файлы ear, war, jar, rar и config.
Если был способ назначить мои собственные теги проекту, а затем запустить сборку на основе этого значения тега, я вижу, что это работает. Но я не нашел в документации ничего о том, как запустить или пропустить сборку на основе определенных пользователем свойств в подпроекте.
Идеи кому-нибудь?