Ответ 1
Если вы определили свои репозитории в своем файле settings.xml, вы можете использовать
mvn deploy:deploy-file -DrepositoryId=releases -DartifactId=... -Durl=
Можно ли каким-то образом сообщить maven deploy: цель файла для развертывания в двух независимых артефактах на основе того, является ли версия проекта снимком/выпуском?
Я надеюсь, что может существовать свойство, которое указывает на то, что версия имеет -SNAPSHOT, или, возможно, по умолчанию для artifactory для развертывания (который уже был разработан на основе номера версии).
Я думал об использовании двух разных профилей и разработке, если его снимок в ant путем анализа файла pom.xml, но я предпочел бы более чистое решение, если это возможно.
В настоящее время мой плагин для развертывания выглядит следующим образом, но он просто развертывается до версии artifactory независимо от версии;
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>deploy-zip-created-by-ant-to-artifactory</id>
<phase>deploy</phase>
<goals>
<goal>deploy-file</goal>
</goals>
<configuration>
<repositoryId>${project.distributionManagement.repository.id}</repositoryId>
<url>${project.distributionManagement.repository.url}</url>
<file>${project.basedir}/Build/deploy/MyArtifact.zip</file>
<pomFile>${project.basedir}/MyArtifact-pom.xml</pomFile>
</configuration>
</execution>
</executions>
</plugin>
Большое спасибо
Если вы определили свои репозитории в своем файле settings.xml, вы можете использовать
mvn deploy:deploy-file -DrepositoryId=releases -DartifactId=... -Durl=
Наверх здесь, я использовал плагин GMaven, чтобы выбрать репозиторий из раздела distributionManagement
POM и сохранить его в свойстве.
Плагин развертывания затем может использовать это свойство.
Возможно, вы захотите использовать build-helper-maven-plugin для развертывания дополнительного артефакта
Это, по-видимому, способ Maven:
<distributionManagement>
<repository>
<id>release</id>
<url>http://my-releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://my-snapshots</url>
</snapshotRepository>
</distributionManagement>
При развертывании версии моментального снимка он перейдет в хранилище снимков. Для выпуска без моментального снимка будет использоваться обычный репозиторий.
Просто запустите развертывание и оно будет работать.: -)