2016-12-11 5 views
0

Независимо от инструмента построения, я видел, как люди делали чистую задачу/фазу перед каждым их сбором/компиляцией или ... действительно ли это необходимо? Инструменты для создания доз используются для повторного использования артефактов предыдущих сборников?очистить перед каждой сборкой (пакетом)

+0

Ответ на этот вопрос заключается в том, что «это зависит». Как правило, люди делают чистое действие перед сборкой, чтобы гарантировать, что из последней сборки, которая может повлиять на эту сборку, нет ничего присутствующего. Например, я не могу создать файл jar, в котором ранее было создано 90% файлов классов. –

ответ

0

В большинстве случаев вы видите clean install в качестве команды по умолчанию, но я бы рекомендовал всем использовать verify.

При выполнении clean целевая папка удаляется, что делает невозможным выполнение инкрементных сборок. У плагинов достаточно информации, чтобы определить, должны ли они делать свое действие. Например: maven-compiler-plugin сравнивает файлы java sourcesfiles и скомпилированные файлы классов (и другие вещи), чтобы увидеть, должны ли файлы быть (повторно) скомпилированы. Если вы считаете, что плагин работает некорректно с инкрементными сборками, сообщите о проблеме для этого плагина.

install часто требовался с мультимодулями в Maven2, но Maven3 способен разрешать эти ссылки на внутренние ссылки на модуль. Единственное, что делает «install», это копирование артефактов в локальный репозиторий (= IO = дорогой). И это заставит ваше местное репо выглядеть по-другому по сравнению с вашими коллегами, что может привести к различным результатам во время сборки. Лучше позволять buildserver подталкивать эти артефакты к общим удаленным репозиториям и позволить каждому вытащить эти SNAPSHOT оттуда. Только в редких случаях действительная установка вызова действительна (опытные пользователи Maven знают, когда :)), поэтому вместо этого используйте verify.