首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪些版本的JDK与Vaadin 8兼容?

问哪些版本的JDK与Vaadin 8兼容?
EN

Stack Overflow用户
提问于 2022-04-01 19:40:19
回答 1查看 255关注 0票数 2

我使用OpenJDK 11作为Vaadin 8。

有人成功地为Vaadin 8使用了更高版本的OpenJDK吗?如果是,OpenJDK的哪个版本?

我想知道我是否可以将OpenJDK升级到更高版本的Vaadin 8。

EN

回答 1

Stack Overflow用户

发布于 2022-04-01 20:51:14

tl;dr

是的,我会尝试将Vaadin 8应用程序部署到Java11或Java 17,因为两者都是LTS。Java 17通常应该与Java 11一样兼容。

但要彻底测试。

可能,是的,部署到Java 17/18

Vaadin 8的当前版本的发行说明指出:

服务器端Vaadin Framework 8与Java 8和11兼容。注意,使用GWT在浏览器端以JS形式编译的客户端Java代码只支持Java 9的语言特性和JDK库的子集。VaadinFramework8是用Oracle JDK开发和测试的,但是其他兼容的Java发行版也应该可以工作。更多关于常见问题中的Java支持的信息。 … 8需要3.0,但也支持后期版本

因此,Vaadin 8正式支持Java 11。

如果您可以在Java11 (LTS)上部署Vaadin 8,那么我希望您也可以部署到Java17 (LTS)和Java18(当前)。

在我心目中,现代Java中唯一一个重大的重大变化就是与Java9一起出现的。但是,如果Vaadin 8正式支持Java 11,那么JPMS就不能成为阻塞问题。

另一个重大变化是Java中与Java相关的部分是在Java11中删除的。其中一些部分可以在库中找到替换,您可以将其添加到应用程序中。由于缺乏兴趣,一些零件已被遗弃。见https://openjdk.java.net/jeps/320。

Java 11之后的更改没有涉及到我记得的任何重大突破问题。大多数运行在Java 11上的Java应用程序都可以运行在Java 17/18上。

当然,你应该:

  • 考虑一下应用程序使用的任何库的兼容性。
  • 彻底测试。

考虑迁移到Vaadin流

虽然不是紧急的事情,但我建议你制定计划,将你的应用程序从Vaadin 8转换到最新版本。Vaadin有限公司也提出了同样的建议。

对Vaadin 8的免费支持即将结束.请看博客帖子公司。Vaadin公司为Vaadin 8提供的付费支持将继续提供,但如果实际可行,该公司仍然建议迁移到当前的Vaadin流(v23 now)。

如果您已经了解了路由、数据绑定和不同设计的小部件和布局管理器等新特性,那么简单的应用程序可能很容易在Vaadin流中从头开始重写。Vaadin 8和Vaadin流之间的基本概念是相同的,但是许多细节已经改变了。

对于帮助,Vaadin有限公司鼓励使用他们的不和谐服务器和堆栈溢出。(他们自己的支持论坛已经关闭,现在是只读的。)

此外,Vaadin有限公司销售产品和服务,以帮助您从Vaadin 8向Vaadin流迁移。

  • 付费客户可以使用技术直接运行旧的Vaadin 8应用程序,在新的Vaadin流应用程序中保持不变。请参阅https://vaadin.com/multiplatform-runtime产品页面。
  • 为了帮助缓解新组件和布局经理的学习曲线,该公司出售对经典组件包的访问。这个最近发布的小部件集是在Vaadin流中构建的,但是它的工作方式与它们的Vaadin 8相同。使用这些复古组件可以让从头开始重写应用程序变得更加容易,因为您可以在不更改布局的情况下完成大量的复制粘贴。
  • Vaadin有限公司出售咨询服务,以协助过渡。最初的咨询是免费的(见上面的博客文章)。

虽然代码迁移既不有趣也不容易,但有一个很好的想法需要考虑:这可能是多年来最后一次对Vaadin进行的主要架构更改。版本6、7和8都涉及重大更改。但现在,HTML5、CSS3、现代JavaScript/类型抄本和标准化Web组件都已经成熟,成为了现代网络应用的丰富、稳定的平台,而现在Internet Explorer已经成为死了,我预计Vaadin流将随着渐进式的改进而不是过去的翻天覆地的变化而逐渐发展。

雅加达包命名

另一个问题是Java技术从Oracle公司转移到Eclipse。作为转换的一部分,包命名已经从javax.*更改为jakarta.*。这是一次彻底的改变。

因此,一些Servlet容器产品(如Apache和Eclipse )正在维护两个版本的产品,它们是串联开发的。这些双版本具有相同的功能和性能,但不同的包命名。

Vaadin还没有被修改以支持新的包命名。因此,请确保选择针对旧包命名的Servlet容器版本。

我猜想只有Vaadin流才会改变包的命名,而不是Vaadin 6、7和8。这可能最终成为考虑从Vaadin 8迁移到Vaadin流的另一个原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71712027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档