Чтобы решить эту проблему с помощью одного только управления версиями: Вы можете предотвратить это, если напишите сценарий сборки bash, который выполняет svn co
для транка или самый новый тег и выполняет сборку maven для этой новой проверки.
Если вы также хотите использовать maven в этом процессе: я рекомендую вам в любом случае поставить проверку в своем скрипте развертывания bash, чтобы убедиться, что если вы допустите ошибку где-нибудь, последняя точка контроля поймает ее.
В проектах, над которыми я работал с maven, мы разработали продуктивную часть как профиль.Поскольку профиль prod был единственным, в котором содержалась информация, необходимая для развертывания (и окончательное имя, которое было понятно каждому на первый взгляд), было невозможно развернуть непродуктивную версию в продуктивной среде, но я неНе думаю, что это относится к вам (потому что вы заявили, что для разработки функций вы используете ветви, а не профили).
Итак, установите finalName, как это, в производительном профиле и проверьте его в сценарии развертывания bash иу вас должно быть все в порядке:
<profile>
<id>productive</id>
<build>
<finalName>MyProgram-productive-${version}</finalName>
</build>
</profile>
Таким образом, вы всегда должны вручную применять флаг «это продуктивно» к тому, что вы строите.
НО это не помешает вам установить 'это производительный флаг в ветви функций, потому что maven не знает о своей ситуации с контролем версий.