java - 如何在仍然与 java 8 兼容的情况下将库的源更新为现代 java 版本?

标签 java java-8 java-17

我们正在维护一个 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/

相关文章:

java - 如何在条件下使用java8流filter()方法?

java - 为什么 RecordComponent 没有在 Java 17 的 Records 类中定义的注释信息?

Java 17 : java: invalid source release 7 with --enable-preview (preview language features are only supported for release 17)

java - 允许用户在 Spring MVC Hibernate 应用程序中添加自己的自定义字段 - 理想的方法是什么?

java - 从 JSP 页面中的 Java.class 列表中检索值

java - 使用 JavaFX 渲染窗口中的空像素

Java 8 兼容性问题 : How to convert Object array to Subtype List in Java 8?

带有 Maven Wrapper 的 Java 17 导致无法识别的 VM 选项 'MaxPermSize=512m'

java - 如何知道是否有任何预定的定时器

java - 尝试解析 JSONArray 时出现 ClassCastException