Jdbi: JDBI3 版本 3.19.0 不能在 JDK < 11 上运行

创建于 2021-04-12  ·  7评论  ·  资料来源: jdbi/jdbi

根据发行说明,我希望此版本可以在 JDK 8 以后的版本上运行,但出现以下错误:

java.lang.UnsupportedClassVersionError: com/github/benmanes/caffeine/cache/Caffeine has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 53.0

类版本 55.0 是 JDK 11,因此这不适用于 JDK 8 以后的版本。
这在以下合并请求中曝光: https :

question

最有用的评论

抱歉这一点:caffeine 没有可以在 jdk8 和 jdk16 上运行的任何版本

仅供参考,2.x 中的兼容性问题仅适用于那些想要禁用sun.misc.Unsafe 。 默认情况下,这在 JDK16 中仍然是允许的,但可以通过 jlink 进行限制。 在 Caffeine 3.0 中不再需要 Unsafe(通过回退),并在 master 上完全删除(即将到来的 3.0.2)。 JDK16 中访问限制的收紧对我们没有影响,但是 JDK8 没有附带 VarHandles,所以我们一直在使用 Unsafe(或者迁移到AtomicReferenceFieldUpdater ,因为在访问字段时使用反射会导致性能问题) .

所有7条评论

@sjoerdtalsma ,对不起,这有点你:咖啡因没有任何版本可以在 jdk8 和 jdk16 上运行。 由于 16 现在是 GA,Jdbi 升级到兼容的 Caffeine 版本。 发行说明确实提到:

将 jdk16 的 caffeine dep 升级到 3.0.1(注意:jdk8 用户需要将其管理回 2.x)

但我同意它不是很突出。

我还在这里添加了一个注释: http :

有什么方法可以更好地向用户发出信号? 希望一旦您将咖啡因版本管理回 2.x,它就可以正常工作,但如果还有其他问题,请告诉我们。

我对发行说明进行了一些更新,以更加突出地说明这一点。 如果还有什么我们可以在这里做得更好,请告诉我们。

谢谢,我希望其他人比我更仔细地阅读。
这对我来说并不是真正的问题,但是我的库的用户必须小心一些事情,因为这对他们来说是传递依赖的传递依赖😉。

我决定不降级咖啡因,而是坚持使用标准版本,只使用更新的 JDK 构建,同时仍然提供 JDK8 字节码工件。 这样我就让他们自己决定。

感谢您的额外强调,我现在将关闭此问题。

是的,这真的很不幸被推送给最终用户。 但是如果他们想要一个优秀的开发体验,现在是升级Java的时候了,它只会越来越难在8上运行;)

想象一下,在为你的库添加拼图module-info.java元数据的同时,试图保持 JDK 1.5 字节码的兼容性😉
我尽量将要求限制在最小公分母上。

抱歉这一点:caffeine 没有可以在 jdk8 和 jdk16 上运行的任何版本

仅供参考,2.x 中的兼容性问题仅适用于那些想要禁用sun.misc.Unsafe 。 默认情况下,这在 JDK16 中仍然是允许的,但可以通过 jlink 进行限制。 在 Caffeine 3.0 中不再需要 Unsafe(通过回退),并在 master 上完全删除(即将到来的 3.0.2)。 JDK16 中访问限制的收紧对我们没有影响,但是 JDK8 没有附带 VarHandles,所以我们一直在使用 Unsafe(或者迁移到AtomicReferenceFieldUpdater ,因为在访问字段时使用反射会导致性能问题) .

嗨@ben-manes,感谢这里的额外背景。 jdk16 确实允许您仍然使用 Unsafe,但我认为默认情况下不允许它 - 至少在我们的情况下,我们必须传递--illegal-access=permit因为默认值现在是拒绝。 我不希望带有 Jdbi 的新 jdk16 项目的“开箱即用体验”需要这样一个丑陋的开关,因此升级到 3.x。

感谢您更新不再使用 Unsafe,我们很高兴看到它消失了:)

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

agavrilov76 picture agavrilov76  ·  5评论

bakstad picture bakstad  ·  5评论

electrum picture electrum  ·  3评论

nonameplum picture nonameplum  ·  5评论

mcarabolante picture mcarabolante  ·  4评论