由于Java 9中的弃用,我正在研究将现有applet(扩展Applet )移动到Java Web Start。但是,似乎大多数Oracle的迁移文档都指示开发人员使用“ applet-desc ”标记创建新的JNLP并进行迁移。这是否意味着在浏览器之外启动applet不会被弃用?
如果没有,那么推荐的方法是什么?说“重写你的小程序”并没有帮助......这就是每个人都说的。真的没有给我“怎么样”。
迁移的可能解决方案和示例/教程有哪些?我似乎找不到更新的文档,我在2001年到2011年之间看到了很多东西。似乎大多数提供示例的网站不再托管应用程序,或者它们没有正确签名。
修改
我的最重要的部分问题是:Oracle在弃用浏览器插件时是否弃用了Applet类?或者,我们是否仍然可以在JNLP中使用扩展Applet的类,而不使用弃用警告?
我的applet需要在JSP中动态生成的用户身份验证和会话cookie。我在网上看过this is possible。此JWS应用程序不能脱机使用,并且应从HREF启动。这仍然有效吗?
答案 0 :(得分:2)
被弃用的东西是由浏览器制造商完成的(虽然甲骨文,现在意识到这种情况建议不要开发它们)。所以Oracle并没有“弃用”applet标记(1),就像它已经弃用了Java Docs中偶尔提到的其他类,方法或属性一样。
至于使用JWS启动applet,是的,它应该仍然“有用”。但请注意,虽然(例如)Chrome用于将JNLP直接传递给注册为该文件类型的使用者的程序(其中它将被传递到JRE中包含的Java Web Start Client),但它现在会导致用户首先下载JNLP,然后明确选择启动该文件。
到2015年底,许多浏览器厂商已经删除或宣布了删除基于标准的插件支持的时间表,从而无法嵌入Silverlight,Java,Flash和其他基于标准的插件技术。
Oracle计划在Java Standard Edition Development Kit 9(JDK 9)中弃用Java浏览器插件。弃用是对开发人员停止使用此技术的警告。 JRE 9将继续提供Java插件并支持在仍提供标准插件支持的浏览器上启动applet。在将来的Java SE版本中,此浏览器插件将从Oracle JDK和JRE中删除。希望详细了解此计划更改的开发人员和用户可以在此blog post中找到更多信息。