Java 11 迁移上的 Applet/JNLP
Posted
技术标签:
【中文标题】Java 11 迁移上的 Applet/JNLP【英文标题】:Applet/JNLP on Java 11 migration 【发布时间】:2019-01-29 13:40:21 【问题描述】:我有一个在 Java/JNLP 小程序下运行的应用程序,我想迁移到 Java 11。
如您所知,小程序和 JNLP 将从 Java 11 中消失。
目标是保留我的旧代码并删除包含小程序的包,是否可以在不切换到新技术的情况下进行此迁移?
【问题讨论】:
“是否可以在不切换到新技术的情况下进行这种迁移?”不。 【参考方案1】:最后,我选择了类似于 JNLP 的带有 Getdown 的 Swing。
迁移到 JEE/Spring 解决方案会完全修改我的应用程序的操作,并且仍然需要很多时间。提示:亲自尝试Getdown。
【讨论】:
这就是为什么我提到它取决于您的应用程序类型。比较我的评论(2)。如果 getdown 可以帮助您使您的应用保持最新状态,那就完美了!【参考方案2】:是和否。
是的,您可以保留您的 java 业务逻辑和数据处理代码(假设您对应用程序层进行了干净的分离)。例如。只需转换为独立的 Java 应用程序即可。
否,如果您想在 web 浏览器中运行一些东西,那么您必须迁移到前端的 javascript/html/JSF/GWT... 并在后端运行您的 java 代码( JEE 或 Servlet ...)。
关于“否”,这取决于您拥有什么样的应用程序。 Web 应用程序还是独立应用程序?
(1) 对于 Web 应用程序,您必须重新创建前端部分(UI、与服务器的通信),但您可以重用部分逻辑。
(2) 对于独立应用程序(使用 Swing/AWT/JavaFX ...),您可以保留您的代码,只需从中创建一个独立应用程序。用于分发,例如JavaFX 提供了application packaging 机制。
PS:最快的方法可能是转换为 webstart 技术,但它也已被弃用,将来也将被删除。所以我会不使用它。
【讨论】:
【参考方案3】:一种解决方案可能是 Karakun 目前正在研究的 WebStart 替代品:https://dev.karakun.com/webstart/
目前尚不清楚这将在何时以及如何实现,因为它基于一种众筹,但由于每个人都可以参与(即使成本很低),这是一个很好的可能性。
【讨论】:
啊不知道 - 有趣的项目! 页面已移至openwebstart.com,并且已经发布了一些 alpha 版本。以上是关于Java 11 迁移上的 Applet/JNLP的主要内容,如果未能解决你的问题,请参考以下文章
迁移到 JBOSS 7.4 和 Java11 后未正确注入 EJB 无状态 bean
Laravel php artisan 迁移空数据库上的错误
java 8 到 java 11 迁移后使用 postgres db 和 spring boot 保存 JpaSystemException 的 jsonb 类型数据