我想在CI / CD管道中部署项目而不使用pom内的distributionManagement块,这看起来像这样:
<distributionManagement>
<repository>
<id>central</id>
<name>x-releases</name>
<url>http://serverhostname/artifactory/libs-release-local</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>x-snapshots</name>
<url>serverhostname/artifactory/libs-snapshot-local</url>
</snapshotRepository>
</distributionManagement>
我尝试通过命令行指定存储库:
-DaltSnapshotDeploymentRepository=myserver::default::serverhostname/artifactory/libs-snapshot-local \
-DaltReleaseDeploymentRepository=myserver::default::serverhostname/artifactory/artifactory/libs-release-loca
但是失败了
Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter
指定-DaltDeploymentRepository允许我将工件部署到存储库,但是我不确定如何在SNAPSHOT和RELEASE之间进行区分。我以为maven可以自动进行此操作。
哪些命令行选项可用于替换此distributionManagement块?
答案 0 :(得分:0)
检查您的maven-deploy-plugin版本。
我使用的是2.7版,但遇到相同的错误,但升级到2.8.2,构建成功完成。
这是依赖项:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>