我使用OpenJDK 11作为Vaadin 8。
有人成功地为Vaadin 8使用了更高版本的OpenJDK吗?如果是,OpenJDK的哪个版本?
我想知道我是否可以将OpenJDK升级到更高版本的Vaadin 8。
发布于 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进行的主要架构更改。版本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流的另一个原因。
https://stackoverflow.com/questions/71712027
复制相似问题