【问题标题】:Is it OK to have a SNAPSHOT version in the test scope while releasing a project?发布项目时可以在测试范围内拥有 SNAPSHOT 版本吗?
【发布时间】:2011-01-31 22:35:17
【问题描述】:

我正在尝试发布一个在测试范围内具有依赖关系的项目。 依赖项仍处于 SNAPSHOT 版本。当我尝试发布 maven 发布插件时,会抛出一个错误,提示必须将 SNAPSHOT 更改为发布版本。

任何想法,为什么在测试范围内会发生这种情况?

<dependency>
    <groupId>com.xxx.yyy.zzz.utils</groupId>
    <artifactId>benchmark</artifactId>
    <version>1.13-SNAPSHOT</version>
    <scope>test</scope>
</dependency>

错误:

[INFO] Can't release project due to non released dependencies :
    com.xxx.yyy.zzz.utils:benchmark:jar:1.13-SNAPSHOT:test
in project 'Some Core' (com.xxx.yyy.zzz.Some:Some-core:jar:1.13-SNAPSHOT)

【问题讨论】:

    标签: java maven hudson maven-release-plugin


    【解决方案1】:

    这样好吗……

    不是真的。

    如果您这样做,则意味着您发布的测试可能不稳定;即,如果有人发布了您所依赖的错误版本的快照,它们可能会中断。想要为自己构建工件的下游人员可能会认为这是一件坏事。如果您需要在几个月内创建一个紧急补丁版本,这对您来说是一件坏事。

    说服拥有您所依赖的工件的任何人为您创建发布版本......或者克隆它并自己做。

    【讨论】:

    • 测试包和依赖是否也成为发布的一部分?或者它只是成为源 jar 的一部分?
    • 这取决于您所说的“版本的一部分”是什么意思。我想说的是,包含在源 JAR(和 VCS 标记)中意味着它版本的一部分。
    猜你喜欢
    • 2016-09-30
    • 2016-06-20
    • 2012-01-15
    • 2013-07-11
    • 2013-04-09
    • 1970-01-01
    • 2011-06-18
    • 2012-11-01
    • 2016-10-23
    相关资源
    最近更新 更多