7

我们使用 Eclipse + Maven 插件从 Nexus 获取库,这很好。我们还将我们的内部库放在 Nexus 上。

当我们向 Nexus 发布新版本的库时,我们想让旧版本被“弃用”,这可能吗?例如,使用Eclipse的Maven插件时,他选择了旧版本,Eclipse显示“it's deprecated”。

因为一些旧系统仍然需要旧版本,所以我们不能直接从 Nexus 中删除它。但是我们不希望新系统使用旧版本。

4

3 回答 3

5

您可以通过maven-enforcer-plugin添加规则以防止使用旧版本,但只能通过所有新项目必须使用的公司 pom。

于 2013-11-15T11:58:16.030 回答
2

没有办法在 Maven 中“弃用”一个版本。

这样做的原因是旧版本仍然有效 - 旧项目仍然使用它并且他们很高兴。通常不需要强制项目升级。

此外,Nexus(默认情况下并且有充分的理由)不会让您更改已发布的 POM。

您需要的是一种传达人们现在应该使用的最佳版本的方法。正确的方法是建立一个网站。只需在 POM 的元素中添加 URL <url>,人们就可以轻松找到它。

此外,您可以使用mvn versions:display-dependency-updatesmvn versions:display-plugin-updates版本插件获取具有比您更高版本的依赖项列表。

于 2013-11-15T10:17:15.380 回答
0

您不想将其从 Nexus 中删除。如果有人想要构建您的软件的旧版本,会发生什么?

我宁愿使用 Java 的方法/类弃用方法,并在你的新库版本中弃用旧的 API 调用。

于 2013-11-15T10:14:25.407 回答