【发布时间】:2019-01-29 13:40:21
【问题描述】:
我有一个在 Java/JNLP 小程序下运行的应用程序,我想迁移到 Java 11。
如您所知,小程序和 JNLP 将从 Java 11 中消失。
目标是保留我的旧代码并删除包含小程序的包,是否可以在不切换到新技术的情况下进行此迁移?
【问题讨论】:
-
“是否可以在不切换到新技术的情况下进行这种迁移?”不。
我有一个在 Java/JNLP 小程序下运行的应用程序,我想迁移到 Java 11。
如您所知,小程序和 JNLP 将从 Java 11 中消失。
目标是保留我的旧代码并删除包含小程序的包,是否可以在不切换到新技术的情况下进行此迁移?
【问题讨论】:
最后,我选择了类似于 JNLP 的带有 Getdown 的 Swing。
迁移到 JEE/Spring 解决方案会完全修改我的应用程序的操作,并且仍然需要很多时间。提示:亲自尝试Getdown。
【讨论】:
是和否。
是的,您可以保留您的 java 业务逻辑和数据处理代码(假设您对应用程序层进行了干净的分离)。例如。只需转换为独立的 Java 应用程序即可。
否,如果您想在 web 浏览器中运行一些东西,那么您必须迁移到前端的 JavaScript/HTML/JSF/GWT... 并在后端运行您的 java 代码( JEE 或 Servlet ...)。
关于“否”,这取决于您拥有什么样的应用程序。 Web 应用程序还是独立应用程序?
(1) 对于 Web 应用程序,您必须重新创建前端部分(UI、与服务器的通信),但您可以重用部分逻辑。
(2) 对于独立应用程序(使用 Swing/AWT/JavaFX ...),您可以保留您的代码,只需从中创建一个独立应用程序。用于分发,例如JavaFX 提供了application packaging 机制。
PS:最快的方法可能是转换为 webstart 技术,但它也已被弃用,将来也将被删除。所以我会不使用它。
【讨论】:
一种解决方案可能是 Karakun 目前正在研究的 WebStart 替代品:https://dev.karakun.com/webstart/
目前尚不清楚这将在何时以及如何实现,因为它基于一种众筹,但由于每个人都可以参与(即使成本很低),这是一个很好的可能性。
【讨论】: