Когда мне и моей команде нужно отправить новую версию артефакта Maven в центр, мы используем следующую процедуру:
mvn release:clean
mvn release:prepare
mvn release:perform
И все отлично работает.
Конечно, pom.xml
содержит ссылку на плагин maven gpg
для запечатывания банок:
...
<build>
<plugins>
....
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
....
</plugins>
</build>
....
Или mvn release:perform
не удалось:
Но во время разработки у некоторых из нас нет / не может быть установлена программа gpg.exe
или ключ подписи (только главный разработчик имеет тот, который запечатывает финальные банки).
Таким образом, если мы локально выполняем команды mvn clean install
или другой тип, процедура завершается ошибкой, и мы не можем иметь локальный измененный файл jar в папке .m2
во время разработки.
Как лучше всего делать подпись пакета che только при выполнении команды mvn release:perform
?