Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web开始问题_Java_Javafx_Jnlp_Java Web Start - Fatal编程技术网

Java Web开始问题

Java Web开始问题,java,javafx,jnlp,java-web-start,Java,Javafx,Jnlp,Java Web Start,我的公司开发桌面应用程序已经很长时间了,并且一直在Windows机器上安装Installshield 但由于我们将要向应用程序添加JavaFX,我们无法像以前那样部署它,因此我将研究JavaWebStart作为一种前进的方式。但是我完全迷糊了,我想问一些问题 1) 最近似乎没有任何文档对此进行讨论,Oracle网站上的所有文档似乎都比2005年旧,有些甚至比2001年旧。JavaWebStart仍然可行吗 2) 我的应用程序需要访问文件系统、dll等等。它讨论了需要对代码进行签名的问题,但我没有

我的公司开发桌面应用程序已经很长时间了,并且一直在Windows机器上安装Installshield

但由于我们将要向应用程序添加JavaFX,我们无法像以前那样部署它,因此我将研究JavaWebStart作为一种前进的方式。但是我完全迷糊了,我想问一些问题

1) 最近似乎没有任何文档对此进行讨论,Oracle网站上的所有文档似乎都比2005年旧,有些甚至比2001年旧。JavaWebStart仍然可行吗

2) 我的应用程序需要访问文件系统、dll等等。它讨论了需要对代码进行签名的问题,但我没有看到关于如何进行签名的真正文档,甚至没有看到如何针对JavaWebStart的特定需要进行签名的真正文档,以便我能够立即访问文件系统

3) 我需要在文件系统中放置jar文件以外的文件,例如图像文件和其他jar和dll文件。我可以在JavaWebStart中这样做吗

4) 我们的应用程序是否可以有多个入口点?基本上,我们提供了一套应用程序,每个应用程序都有来自开始菜单的菜单项(所有的入口点都在主jar文件中)。这能做到吗

5) 使用一组共享的配置文件,计算机的所有用户都可以使用我的应用程序吗

6) 在Windows上,我别无选择,只能使用32位Java和JavaFX,因为DLL随系统一起打包,所以即使在64位机器上,我也需要加载32位Java,并确保只有32位Java启动我的程序。这可以通过JavaWebStart实现吗

对不起我的无知

Bodger是的,当然还有。我几乎每天都在我们的应用程序上使用它

2) 是的,代码需要签名。虽然我不能马上告诉你怎么做,但我使用Netbeans,它有一个简单的“按下这个按钮,所有的签名魔术自动发生”设置

3-4)好问题。我想是的,但我不确定。在非常罕见的情况下,我只需要手动调整几个JavaWebStart文件。不记得什么可以做什么不能做

5) 我不知道你到底是什么意思。Windows上的共享配置文件最终走上了处理UAC的丑陋道路(其他一些平台也有类似的权限问题)

6) 我想不出一个明确强制32位启动的方法,但32位是标准,你必须用你自己的方式来使用64位Java。。。我想你可能会有一个用户在64位启动它时经历了所有的曲折,但这似乎是一个离群值,你可以说“好吧,不要摆弄那些东西。”——)

1)。不能说,几年前我已经停止为客户开发WebStart

(二及三)。是的,您在config/start(jnlp)文件中使用安全设置



编辑2:2)。如果您在内部使用该应用程序,则可以对JAR进行自我签名。不需要一张精美的证书。有关创建您自己的证书的简单方法,请参阅。

1)我不会担心旧文档。这不是一个大话题,也不再有太多更新。2) 查找如何签署小程序,应该是解决32位问题所需的sameI,因为Windows部署中存在的DLL问题仅适用于32位Java上的jni。我知道问题的原因,但可能是放错了位置。您的任何客户都会a)安装64位JRE而不是32位JRE,或者b)在同时安装两个JRE时,尝试强制您的应用程序启动64位JRE(默认为32位),这是否现实?下载并安装在Windows 64位机器上的JRE默认版本是64位版本的Java,它给我带来了各种痛苦和痛苦。有趣的是,我从未见过这种行为。除了专门下载64位版本的开发人员之外,我只在野外的机器上看到32位版本。似乎你可以在你的应用程序中抛出一个错误,然后告诉人们正确的版本,如果你不能在JNLP中这样做的话。
<security>
    <all-permissions/>
<security>
<application-desc main-class="us.fl.k12....letters.clients.Main"/>