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的主要内容,如果未能解决你的问题,请参考以下文章

将Applet应用程序迁移到Java 11

迁移到 JBOSS 7.4 和 Java11 后未正确注入 EJB 无状态 bean

Laravel php artisan 迁移空数据库上的错误

JDK 8迁移到JDK 11版本指南

java 8 到 java 11 迁移后使用 postgres db 和 spring boot 保存 JpaSystemException 的 jsonb 类型数据

具有默认值的外键上的 Django 1.7 迁移错误