2012-05-09 2 views
3

Я хочу номер версии проекта, чтобы быть в формате последующей для нормального контроля версий выпуска:Использование профиля Maven для артефакта контроля версий

<version>1.0-SNAPSHOT</version> 
<version>1.0.1-SNAPSHOT</version> 
...... 

С другой стороны, я хочу иметь встроенный артефакт для каждого изменения слиты как показано ниже:

<version>1.0-SNAPSHOT-${timestamp}</version> 

Могу ли я достичь этого, используя профиль maven? что-то вроде:

<profiles> 
    <profile> 
     <id>normal</id> 
     <version>1.0-SNAPSHOT<version> 
    </proifle> 
    <profile> 
     <id>build</id> 
     <version>1.0-SNAPSHOT-${timestamp}<version> 
    </proifle> 
</profiles> 

так, что я могу построить это нравится:

mvn package -P normal // this gives me artifact-1.0-SNAPSHOT.jar 
or 
mvn package -P build  // this gives me artifact-1.0-SNAPSHOT-${timestamp}.jar 

если профиль может решить эту проблему, какие другие подходы?

+1

Если вы публикуете артефакты моментальных снимков в менеджере репозитория Maven, например Nexus, это гарантирует, что каждая сборка имеет уникальную метку времени. –

ответ

5

Хотя я бы не рекомендовал этот подход, вы можете использовать профили для этой задачи. Вот как это можно сделать:

<version>${projectVersion}</version> 
... 
<profiles> 
    <profile> 
     <id>normal</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <properties> 
      <projectVersion>1.0-SNAPSHOT</projectVersion> 
     </properties> 
    </profile> 
    <profile> 
     <id>build</id> 
     <properties> 
      <projectVersion>1.0-SNAPSHOT-${timestamp}</projectVersion> 
     </properties> 
    </profile> 
</profiles> 
+0

в maven 3 это попытается найти артефакт для пути в каталоге .m2, который имеет $ {projectVersion} вместо фактического номера версии в дочерних pom.xml-файлах. –

2

Используйте Builder Number Plugin и/или оценить встроенный timestamp property. Во всяком случае, ваш подход не рекомендуется, потому что SNAPSHOT всегда должен быть в курсе.

 Смежные вопросы

  • Нет связанных вопросов^_^