Сняв номер версии из имени файла с Maven
У меня есть проект с 5 модулями в maven. Прямо сейчас, когда я делаю "mvn clean install", он генерирует ухо, содержащее две банки, одну войну и один sar из других модулей.
все имена файлов содержат версию, например, projectx-ear-2.0.0.ухо, projectx-клиент-2.0.0.jar, etc.
Мне нужно переименовать одну из банок и последнее ухо, чтобы опустить версию в имени файла. Это должно выглядеть так:
projectx-ear.ear
|
+-- projectx-client.jar
|
+-- projectx-misc-2.0.0.jar
|
+-- projectx-sar-2.0.0.sar
|
-- projectx-web-2.0.0.web
прямо сейчас я использую следующее плагины для сборки: помощью Maven-компилятор-plugin и Maven-релиз-плагин
каков был бы лучший способ достичь результатов, которые я ожидаю?
2 ответов
в модуле уха, вы можете использовать project.build.finalName
элемент или вы можете настроить Maven-ear-plugin, который поддерживает finalName
необязательный параметр. И чтобы настроить окончательное имя связанной банки, вам нужно будет определить jarModule
и выберите bundleFileName
собственность на него.
окончательная конфигурация может выглядеть примерно так (я продемонстрирую, как установить окончательное имя уха в конфигурации плагина здесь):
<project>
[...]
<dependencies>
<dependency>
<groupId>yourgroupid</groupId>
<artifactId>projectx-client</artifactId>
<version>2.0.0</version><!-- not mandatory if inherited -->
</dependency>
[...]
</dependencies>
[...]
<build>
[...]
<plugins>
[...]
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.4</version>
<configuration>
<finalName>projectx-ear</finalName>
<modules>
<jarModule>
<groupId>yourgroupid</groupId>
<artifactId>projectx-client</artifactId>
<bundleFileName>anotherName.jar</bundleFileName>
</jarModule>
</modules>
</configuration>
</plugin>
[...]
</project>
вы можете достичь этого, указав finalName
свойство в вашем pom так:
<build>
<finalName>${project.artifactId}</finalName>
</build>