是否可以根据 JRE/JVM 版本将我的 class/method 标记为已弃用?

Possible to mark my class/method as deprecated based on the JRE/JVM version?

十年前,我创建并维护了一些 commons/library 帮助程序 类 的 jar 文件,专门用于 Java 8 中的密码学。我们的组织终于开始更新到 Java 11 LTS,其中已在本地添加了类似的功能。

我公司的许多小组都在使用这些公用资源,但随着个别小组升级到 Java 11+ JRE/JVMs,我想鼓励他们使用新的本地 类对比我的图书馆。

有没有办法 annotate/Javadoc-tag 我的 classes/methods 使得它们只在使用 Java 11+ JRE/JVM 构建时警告为已弃用?

我的 类 在 Java 11+ 中仍然工作得很好,但我真的很想鼓励使用现在的原生 classes/methods。如果折旧不是可行的方法,是否还有其他 annotation/Javadoc 方法可以在超出 JRE/JVM 的特定版本后通过警告阻止使用?

没有办法开箱即用。我建议您只在 JavaDoc 文本中包含解释。

弃用有点矫枉过正,因为听起来您无意实际删除它。您只是想鼓励以更高版本为目标的用户使用其他版本。

当然,您始终可以编写自己的注释和注释处理器。