我有Maven项目,我想我的部署内部的Nexus仓库的文物被设置为在两个不同的地方我的快照和释放 。 所以我不能用“distributionManagement”,因为这将硬编码位置。 所以,我已经定义了几个 在我的settings.xml说“releaseRepository”和“snapshotRepository”,并且均具有参数“释放”应设置为发布“真”和快照“假”。
我用下面的命令来释放我的神器运行我的生成;
mvn clean deploy -DaltDeploymentRepository=releaseRepository::<DON'T KNOW WHAT GOES HERE SO LEFT IT EMPTY>::htp://abc.com/repositores/my-releases/ -Drelease=true
现在,当我在上面的命令运行,因为不提供“布局”价值,我得到异常和构建失败失败。
我找不到什么应该是“布局”,我身边有10个项目,我想建立并一前一后发布的任何有价值的情报。
altDeploymentRepository String - 指定的替代存储库,以该项目工件应该部署(比在指定的<distributionManagement>其他)。 格式如下:id ::布局::网址
( 源 )
所以,在你的情况: releaseRepository::default::http://your.repo.url
(见这里的布局)
“布局”是提供向后兼容性与Maven 1遗留开关,并且在该点不合时宜。 如果您正在使用Maven 2或Maven 3(因为我相信世界上至少99.99%必须是在这一点),这的确是“默认”,如在别处描述。 时指出,答案毫无疑问是“默认”,是消除开关的实用程序的问题; 如果它始终是“默认”,其中它是否仍然存在?
如果你实际上使用Maven 1,它仍然应该是“遗产”,但我希望没有人。 这一切都是在Maven规范描述:
布局要么默认为Maven2的布局或传统的Maven1布局。 Maven3也使用的默认布局。
https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html