2016-04-04 4 views
0

Для первой части: я хочу сгенерировать несколько военных файлов при создании проекта maven. Вторая часть: я хочу динамически переименовывать эти файлы.Создайте несколько файлов войны и переименуйте их с Maven

Например: файл, который сгенерирован сейчас, называется test.war. Если я хочу генерировать этот файл несколько раз в одной сборке, я бы хотел, чтобы файлы назывались так: test_1.war, test_2.war, test_3.war ...

У вас, ребята, есть идея, как можно это будет достигнуто? Я могу также создать BAT-файл, который будет делать эти вещи, но я не совсем уверен, как :)

Спасибо

+0

проверить [это] (http://stackoverflow.com/questions/1882322/how-do-i-get-maven-2-to-build-2-separate-war-files) – Hohenheim

+0

Спасибо, но, к сожалению, это не относится к моему делу. У меня есть только один проект с одним web.xml, и я хочу использовать этот файл для всех создаваемых файлов. В основном, что я хочу сделать, это цикл части, которая генерирует военный файл, создающий более одного файла. – Sebastian

+0

Я настоятельно рекомендую построить мультимодульный проект maven, где каждая война является выходом одного модуля. это ответ на создание нескольких военных файлов. Для переименования я думаю, что создание профилей - лучшее решение, на которое вы можете обратиться [this] (http://stackoverflow.com/questions/6129581/in-maven-how-to-rename-the-output-war-file-based -on-the-name-of-the-profile-i) надеюсь, что это поможет – Hohenheim

ответ

0

спасибо за все ваши ответы. Мне удалось создать эти файлы с помощью bat-файл, который выглядит следующим образом:

call mvn -DfinalName=test_1 package call mvn -DfinalName=test_2 package call mvn -DfinalName=test_3 package call mvn -DfinalName=test_4 package

и в pom.xml я добавил свойство <finalName>:

<properties> <finalName>${project.artifactId}-${project.version}</finalName> </properties>

и в секции сборки я добавил следующее:

<build> <finalName>${finalName}</finalName>
... </build>

.

1

Не совсем уверен, работает ли это, но, возможно, вы могли бы попробовать что-то вроде этого:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.6</version> 
    <executions> 
     <execution> 
      <id>test_1</id> 
      <goals> 
       <goal>war</goal> 
      <goals> 
      <configuration> 
       <warName>test_1.war</warName> 
      </configuration> 
     </execution> 
     <execution> 
      <id>test_2</id> 
      <goals> 
       <goal>war</goal> 
      <goals> 
      <configuration> 
       <warName>test_2.war</warName> 
      </configuration> 
     </execution> 
    <executions> 
    </plugin> 
Смежные вопросы