在工作中,我们有一个使用多个Java小程序的旧的基于Web的平台。我们终于开始取代这个平台了,但这需要至少一年的时间。随着Java 9下个月推出并弃用applet API,我正在寻找一种方法来保持这些applet一直保持平稳,直到更换平台。在Oracle页面上,我发现:
Java Web Start技术内置了对applet的支持。它是 可以使用Java Web Start技术直接运行您的applet 没有重新编译applet。你所需要做的就是 将applet HTML标记转换为Java网络启动协议 (JNLP)文件,使用JNLP applet-desc元素。
因此,我创建了一个测试JNLP文件,一个带有JNLP文件链接的简单HTML文件,它实际上是第一次尝试。但是当前<param>
标记中的几个<applet>
元素是在运行时动态生成的。 第一个问题:有没有办法动态提供这些参数而不是将它们写入JNLP文件? (编辑:看起来像是,有一些箍跳:SO #37508597)
第二个问题:当我的简单测试工作时,我最终还是打开了两个窗口。一个是空的(我假设这是我在height
JNLP标签中需要width
和<applet-desc>
值的那个?)而另一个是其中的实际应用程序(applet)显示用户选择的值/选项的图表。有没有办法防止打开两个窗户?
第三个问题:当最终从Java中移除applet API时,JNLP <applet-desc>
标记是否仍然有效?意思是,applet仍然可以通过JNLP执行吗?
我们试图避免对applet进行任何实际的Java代码更改。因为我们没有任何内部Java开发人员