gpt4 book ai didi

maven - 发布具有 SNAPSHOT 测试依赖项的项目

转载 作者:行者123 更新时间:2023-12-03 05:07:26 25 4
gpt4 key购买 nike

我在我的项目中使用快照依赖项仅用于测试

    <dependency>
<groupId>com.my-company</groupId>
<artifactId>my-test-library</artifactId>
<version>LATEST</version>
<scope>test</scope>
</dependency>

我知道使用LATEST的风险,但这正是我想在测试中实现的目标。但是,当我调用 mvn release:prepare 时,此测试依赖项阻止生产代码的发布,但出现异常:

[INFO] Checking dependencies and plugins for snapshots ...
There are still some remaining snapshot dependencies.
...
Caused by: org.apache.maven.shared.release.ReleaseFailureException: Can't release project due to non released dependencies :
com.my-company:my-test-library:jar:LATEST:test
in project 'My Project'

我的dependencyManagement:

<distributionManagement>
<repository>
<uniqueVersion>true</uniqueVersion>
<id>rep-releases</id>
<name>Release Repo</name>
<url>${url}</url>
</repository>
<snapshotRepository>
<uniqueVersion>true</uniqueVersion>
<id>rep-snapshots</id>
<name>Snapshots Repo</name>
<url>${url}</url>
</snapshotRepository>
</distributionManagement>

为什么测试代码和发布流程有关系?我怎样才能继续发布并保持依赖不变?

最佳答案

您所做的确实违反了所有规则,您还应该首先发布测试依赖项,然后发布并将项目版本切换到快照,并将测试范围的依赖项恢复到快照.

如果你真的真的必须做蠢事,那么你可以指定 -DignoreSnapshots=true选项。但是,这将忽略 pom.xml 中定义的任何 SNAPSHOT 依赖项,情况更糟。

您已收到警告。请自行承担风险,愿上帝怜悯!

关于maven - 发布具有 SNAPSHOT 测试依赖项的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37562658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com