gpt4 book ai didi

java - 当只有已弃用的方法时,java 包版本如何变化

转载 作者:行者123 更新时间:2023-12-01 10:06:30 25 4
gpt4 key购买 nike

当某些方法有 @deprecated 注释时,我正在考虑管理项目中包版本控制的最佳方法。我们正在使用 maven-bundle-plugin,它可以从 packageinfo 文件中获取包版本,或者如果没有文件,则从包版本中获取。

我们遵循关于软件包的约定:(“X.Y.Z”),其中当有错误修复时 Z 不断增长,当有新功能时 Y 不断增长,当不兼容时 X 不断增长。

假设我们有版本为(“1.0.0”)的软件包 P。在 P 中有两个类 Foo 和 Bar。如果我们在 Foo 中有两个方法 - A() 和 B(),并且我们已经弃用了方法 A(),那么这些都是 Hole 包中的更改。软件包版本如何变化?

最佳答案

我将通过正确的 OSGi 名称来引用这些版本段:Major(您的 X)、Minor(Y)和 Micro(Z):

  • 当出现影响 API 所有用户的重大更改时,Major 应增加;
  • 当有新功能时,Minor 应该递增,这不会破坏消费者,但可能会破坏提供者,因为它们无法自动提供新功能;
  • 对于不会导致任何向后兼容性问题的任何其他更改,Micro 应增加。

显然,向方法添加@Deprecated不会改变消费者或提供者的兼容性。因此,这是一个微小的变化(在您的示例中,您应该增加“Z”)。它最多是 API 的文档更改。

关于java - 当只有已弃用的方法时,java 包版本如何变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36421482/

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