我的公司长期以来一直在开发桌面应用程序,并且一直使用 Installshield 将其安装在 Windows 计算机上。
但是因为我们要将 JavaFX 添加到应用程序中,所以我们无法像以前那样部署它,所以我正在研究 Java Web Start 作为前进的一种方式。但我完全迷失了,想问一些问题。
1) 最近似乎没有任何文档讨论它,Oracle 站点上的所有文档似乎都早于 2005 年,有些甚至早于 2001 年。Java Web Start 仍然可行吗?
2) 我的应用程序需要访问文件系统、dll 等。它讨论了需要对我的代码进行签名,但我没有看到任何有关如何执行此操作的真实文档,甚至没有看到如何针对 Java Web Start 的特定需求执行此操作,以便我可以立即访问文件系统。
3) 我需要放置 jar 文件以外的文件系统文件,例如图像文件和其他 jar 和 dll 文件。我可以在 Java Web Start 中执行此操作吗?
4) 我们的应用程序可以有多个入口点吗?基本上,我们提供了一套应用程序,每个应用程序都有来自开始菜单的菜单条目(所有入口点都在主 jar 文件中)。这可以吗?
5) 我的应用程序可以使用一组共享的配置文件供计算机的所有用户使用吗?
6) 在 Windows 上,我别无选择,只能使用 32 位 Java 和 JavaFX,因为我们将 DLL 与系统一起打包,因此即使在 64 位计算机上,我也需要加载 32 位 Java 并确保仅使用 32 位Java 启动我的程序。这可以通过 Java Web Start 来完成吗?
抱歉我的无知。
博杰
最佳答案
1) 是的,绝对仍然可用。我几乎每天都在我们的应用程序上使用它!
2) 是的,代码需要签名。不过,无法告诉您如何立即完成此操作,我使用 Netbeans,它有一个简单的“按下此按钮,所有签名魔法都会自动发生”设置。
3-4)好问题。我认为是这样,但我不确定。我只需要在极少数情况下手动调整几个 Java Web Start 文件。不记得什么可以做,什么不能做。
5)不确定你的意思。 Windows 上的共享配置文件最终会走上处理 UAC 的丑陋道路(其他一些平台也有类似的权限问题)。
6) 我想不出一种方法来显式强制 32 位启动,但 32 位是标准,你必须不遗余力地使用 64 位 Java...我想你可以有一个用户确实经历了在 64 位中启动它的所有曲折,但这似乎是那些异常值之一,你可能只能说“好吧,不要摆弄那些东西”。 :-)
关于Java Web 启动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7689809/