如何在与java8兼容的情况下将库的源代码更新为现代java版本



我们正在维护一个java库,我们的大多数客户仍在使用java8。由于java8有点生疏,我们希望能够在编译时使用较新java版本(比如java17(的新语言功能,而不会关闭老客户。有可能做到这一点吗?

确切地说:我只想使用新的语言功能,如var,而不是新的API

图书馆所有者通常是如何处理这个问题的?

一个解决方案是为JDK 17发布库的新主要版本,并为使用JDK 8的客户端保留当前主要版本。然后,您必须同时维护这两个版本一段时间,直到您最重要的客户自己迁移到JDK17为止。

当您想要发布新功能时,您将为两个主要版本中的每一个使用一个新的次要版本。

最新更新