Как я могу упаковать конкретную версию с Maven? - PullRequest
3 голосов
/ 31 мая 2011

Я бы хотел позвонить

mvn clean install -Dsomeproperty=1.2.3-20110526-1836

чтобы получить

artifact-1.2.3-20110526-1836.jar

вместо

artifact-1.2.3-SNAPSHOT.jar

Как я могу передать эту метку времени maven ??

Ответы [ 3 ]

3 голосов
/ 31 мая 2011

Следующий параметр артефакта в pom.xml, кажется, делает то, что вы хотите:

<groupId>testgroup</groupId>
<artifactId>testartifact</artifactId>
<version>${someproperty}</version>

Теперь, если вы выполните "mvn clean install -Dsomeproperty = 1.1.timestamp", созданный файл jar также содержит метку времени в своем имени.

Я не уверен, что это то, что вы ищете.

EDIT

Другое решение, так как файл pom нельзя изменить.

Выполните команду "mvn clean install" в обычном режиме. Это создает файл jar, такой как artifact-1.2.3-SNAPSHOT.jar.

Установите этот файл снова - на этот раз с помощью "mvn install: install-file -Dfile = artifact-1.2.3-SNAPSHOT.jar -DgroupId = testgroup -DartifactId = testartifact -Dversion = 1.2.3-123456-1234 -Dpackaging = jar. Это установит артефакт-1.2.3-123456-1234.jar в ваш локальный репозиторий

0 голосов
/ 01 июня 2011

Пока это будет делать то, что вы указали:

<project ...>
    <properties>
         <someproperty>somproperty-default-value</someproperty>
    </properties>
    <build>
        <finalName>artifact-${someproperty}</finalName>
        ....
    </build>
    ....
</project>

Я бы порекомендовал использовать это: Как добавить информацию о метках времени в артефакты Maven?

0 голосов
/ 31 мая 2011

Самый быстрый взлом для этого - запустить

     mvn clean install --offline

Это предотвратит загрузку вашей ночной сборки из удаленных репозиториев.

Вы также можете поиграть с settings.xml

...