【问题标题】:How can I configure the deploy Maven goal or the Maven project to be deployed with different path or name?如何配置部署 Maven 目标或 Maven 项目以使用不同的路径或名称进行部署?
【发布时间】:2020-04-28 13:47:44
【问题描述】:

我有以下可用于我的 Maven 项目的存储库,我可以在其中发布快照工件:

<distributionManagement>
    <repository>
        <id>artifactory-releases</id>
        <url>https://artifactory.company.com/mvn-release-local</url>
    </repository>
    <snapshotRepository>
        <id>artifactory-snapshots</id>
        <url>https://artifactory.company.com/mvn-snapshot-local</url>
    </snapshotRepository>
</distributionManagement>

我如何重新配置​​我的设置 (pom.xml) 或我的部署目标 (mvn deploy) 以将我的工件部署到该存储库中的替代路径或使文件在该存储库中具有不同的名称前缀。

我不能: * 更改存储库(这是我必须推送的唯一一个) * 让我的测试部署被推送到项目已经被配置为推送的同一位置(基于 Maven groupIdartifactId),因为我会用我的测试覆盖已经推送到那里的快照

我也不想更改我的 Maven groupIdartifactId。这是因为它会在这个多模块的 Maven 项目中触发太多的变化。

用户案例:我想使用原型部署技术进行一些测试,并且我打算使用相同的存储库对其进行测试,而无需进行重大重构。只需部署到该 Maven 存储库中稍微不同/平行的路径即可。

在这方面,deploy:deploy 目标似乎不是 very configurable

【问题讨论】:

    标签: maven deployment artifactory maven-deploy-plugin


    【解决方案1】:

    您在存储库中部署的路径完全由 Maven 坐标(groupId、artifactId、version、extension、classifier)决定,无法更改。

    【讨论】:

    • :'( :'( :'( :'(
    • 分类器怎么样。我可以影响这个吗?如果分类器不是SNAPSHOT,工件还会落在snapshotRepository 中吗?
    • 1. SNAPSHOT 不是分类器,而是版本的一部分。 2. 你可以影响分类器,但分类器是针对像javadocsources 这样的副产品。辅助工件不能有自己的 POM。所以这可能不是你想要的。
    • :'( :'( :'( :'(
    • 对于类似的情况,我们使用了类似1.2.3-MIGRATED-SNAPSHOT的版本号,而不是1.2.3-SNAPSHOT
    猜你喜欢
    • 2020-05-05
    • 2016-10-30
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 2018-04-02
    相关资源
    最近更新 更多