【问题标题】:How to include svn revision number with the snapshot during maven build如何在 Maven 构建期间将 svn 修订号包含在快照中
【发布时间】:2015-10-30 16:25:04
【问题描述】:

我正在尝试将工件 "web-1.0.0-BUILD-20151030.030449-9.war" 上传到工件存储库,它工作正常。但我也想在快照中包含 svn 修订号。谁能帮我 。我尝试了<finalName> 标记,该标记在构建 WAR 文件期间有效,但在分发期间不起作用 管理构建要上传到工件存储库的工件。

<distributionManagement>
        <repository>
            <id>oss.sonatype.org</id>
         <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
        </repository>
        <snapshotRepository>
            <id>oss.sonatype.org</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
    </distributionManagement>

【问题讨论】:

    标签: maven


    【解决方案1】:

    Maven 试图告诉你一些事情。这很难做到的原因是 Maven 使用 5 个坐标解析工件:groupIdartifactIdversionclassifierpackaging/type(最后两个比其他的使用得更少) .

    假设您请求 org.example:my-dep:1.0-SNAPSHOT 的依赖项,并且您在这些坐标下映射了 5 个不同的快照。

    Maven 将如何知道您想要哪个版本?请记住,分辨率使用 5 个坐标,。在部署期间知道您要使用哪个版本是一回事,但在解决期间确定您可能意味着要解决的正确版本是另一回事。

    通常你想要最新的,这就是为什么我们有maven-metadata.xml,它会自动下载和解析,以便 Maven 可以找出你在org.example:my-dep:1.0-SNAPSHOT 下的 N 个版本中的哪一个是最新的。但这已经为您完成了。

    我强烈建议您将修订号输入MANIFEST.MF 并收工。这样,其他人就很容易确定快照是基于哪个修订版构建的。大多数 IDE 允许您在项目的树视图中浏览依赖项的内容。

    【讨论】:

    • 旁注:请参阅“不是问题”MDEPLOY-93 JIRA bug 以查看更多说明。
    • @Tunaki,很好的提示。并且直接从源头开始。
    猜你喜欢
    • 1970-01-01
    • 2016-07-21
    • 2012-11-29
    • 2023-01-10
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多