我的公司长期以来一直在开发桌面应用程序,并且已经在Windows机器上安装了Installshield。
但是因为我们要将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完成吗?
对不起我的无知。
Bodger
答案 0 :(得分:2)
1)是的,绝对仍然可用。我几乎每天都在我们的应用程序上使用它!
2)是的,代码需要签名。不能告诉你如何在手边做到这一点,我使用Netbeans并且它有一个简单的“按下这个按钮并且所有签名魔法自动发生”设置。
3-4)好问题。我想所以,但我不确定。我只需要在极少数情况下手动调整几个Java Web Start文件。不记得可以做什么,什么做不到。
5)不确定你到底是什么意思。 Windows上的共享配置文件最终走上了处理UAC的丑陋道路(其他一些平台也有类似的权限问题)。
6)我想不出一种明确强制执行32位启动的方法,但32位是标准,你必须尽量使用64位Java ...我想你可以有一个用户确实经历了以64位方式启动它的所有扭曲,但这似乎是那些你可能只能说“好吧,不要摆弄那些东西”的异常值之一。 : - )
答案 1 :(得分:2)
1)。不能说,几年前我已停止为客户开发WebStart。
2及3)。是的,您使用config / start(jnlp)文件中的安全设置。
<security>
<all-permissions/>
<security>
对于安全性,您需要用户权限,该权限需要签署应用程序(基本上所有的jar)。
4)。是。 Webstart可以在用户桌面上创建使用特定jnlp文件的链接。该文件包含入口点。
<application-desc main-class="us.fl.k12....letters.clients.Main"/>
5)。由于您可以将配置文件复制到所有用户共享的文件夹,我会说是。
AFAIK也需要将所有资源捆绑在罐子里。
修改:非常实用http://lopica.sourceforge.net/faq.html
Edit2:2)。如果您在内部使用该应用程序,您可以自己签署您的罐子。没有必要获得花哨的证书。有关创建自己的证书的简便方法,请参阅http://wiki.plexinfo.net/index.php?title=How_to_sign_JAR_files。