Задача: деплоить результаты билда Maven в JFrog Artifactory.
Пример с выполняется плагином maven-deploy-plugin, но для некоторых случаев может пригодиться плагин artifactory-maven-plugin.
Пример ошибки без настроек деплоя вообще:
$ mvn clean deploy ... [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project parent: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1] ...
Редактируем корневой pom.xml, добавляем настройки для maven-deploy-plugin:
<distributionManagement>
<repository>
<id>engineering</id>
<name>my-proj-releases</name>
<url>https://my-proj.artifactoryonline.com/my-proj/snapshots-local</url>
</repository>
<snapshotRepository>
<id>my-proj</id>
<name>my-proj-snapshots</name>
<url>https://my-proj.artifactoryonline.com/my-proj/snapshots-local</url>
</snapshotRepository>
</distributionManagement>
Отдельно создаём файл maven-settings.xml (или прописываем в ~/.m2/settings.xml) с настройками доступа:
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd"
xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<servers>
<server>
<id>my-proj</id>
<username>someuser</username>
<password>somepass</password>
</server>
</servers>
</settings>
Ещё раз запускаем билд и деплой:
$ mvn clean deploy ... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------
Готово.