我们正在维护一个 java 库,我们的大多数客户仍在使用 java 8。由于 java 8 有点生锈,我们希望能够使用较新 java 版本的新语言功能,比如 java 17,在编译时,无需关闭旧客户。有没有可能实现这一点?
准确地说:我只想使用新的语言特性,比如var
,而不是新的API。
图书馆所有者通常如何处理这种情况?
最佳答案
一个解决方案是发布一个新的 major version为 JDK 17 保留当前的主要版本,并为使用 JDK 8 的客户保留当前的主要版本。然后您将不得不维护这两个版本一段时间,直到您最重要的客户自己迁移到 JDK 17。
当您想要发布新功能时,您将为两个主要版本中的每一个使用一个新的次要版本。
关于java - 如何在仍然与 java 8 兼容的情况下将库的源更新为现代 java 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71301888/