Существует несколько приложений, которые необходимо создать и упаковать из нескольких модулей.несколько раз несколько модулей в родительском pom
В родительском pom я использую профиль для вызова сборщиков для разных приложений.
root
parent/
pom.xml
moduleA/
pom.xml
moduleB/
pom.xml
moduleC/
pom.xml
Например, приложение «Профиль-1» потребуется подмножество существующих модулей, которые будут построены и собрать как смоляной шар. Тар будет содержать несколько банок и различные файлы конфигурации, извлеченные из целевого/дополнительного модуля.
Я использую сценарий оболочки, вызванный с помощью exec-maven-plugin, чтобы собрать tar.
Проблема, с которой я сталкиваюсь, заключается в том, что в одном приложении мне нужно создать один и тот же модуль несколько раз, но с разными параметрами maven.
Каков наилучший способ для этого?
<profiles>
<profile>
<id>profile-1</id>
<modules>
<module>../moduleA</module>
<module>../moduleB</module>
<!-- <module>../moduleC</module> -->
</modules>
<properties>
<global.version>0.0.1-SNAPSHOT</global.version>
</properties>
<build>
<!-- use maven exec plugin to run a shell script which generates the tar ball picking jars and config files from different modules target dirs -->
<plugins>
</plugins>
</build>
<profile>
</profiles>
модуль образца суб ПОМ
<groupId>com.test</groupId>
<artifactId>moduleC</artifactId>
<packaging>bundle</packaging>
<version>${global.version}</version>
<name>test :: ${project.artifactId} :: ${name} </name>
<parent>
<groupId>com.test</groupId>
<artifactId>parent</artifactId>
<version>${global.version}</version>
<relativePath>../parent</relativePath>
</parent>
вещи я пытался:
1) Могу ли я разделить на несколько профилей и вызывать их -Pprofile-1, профиль-2?
Это не сработало для меня, но я буду делать что-то неправильно.
2) Есть другой сценарий оболочки, который имеет командную строку mvn для сборки модуляC различными способами.
- Несмотря на то, что я перехожу в «-Dglobal_version», запуск модуля из командной строки mvn, похоже, не находит родителя в репозитории.
Я попытался сделать «-N», чтобы поставить родительский pom в репозиторий, прежде чем создавать приложение, но не помогло.
«Я использую сценарий оболочки вызывается с помощью EXEC-Maven-плагин, чтобы собрать смолу . ". Это большой признак того, что вы что-то делаете неправильно. Ассембли обычно выполняются с помощью 'maven-assembly-plugin'. Почему у вас есть много профилей? Это также запах в вашей сборке. – Tunaki
Я могу использовать плагин сборки. Мне нужно собрать и скомпоновать различные приложения, которые собраны вместе с использованием разных комбинаций вспомогательных модулей. Но как я могу построить один и тот же модуль несколько раз, передавая разные параметры maven? – user127091