Browser JavaFX-它真的可以部署在浏览器中吗?

Browser JavaFX-它真的可以部署在浏览器中吗?,browser,javafx,ria,Browser,Javafx,Ria,去年我对JavaFX做了一些研究,甚至用它构建了一些基本的桌面应用程序 它被描述为用于创建RIA(富互联网应用程序) 但它真的可以通过web浏览器部署吗?我只通过一个可执行JAR文件部署了它 通过web浏览器部署有多容易?它有用吗?有人有这方面的经验吗 2018年3月Java客户端路线图的更新 我鼓励对此问题感兴趣的读者阅读以下Oracle白皮书: 上述文件概述了Oracle对相关技术(JavaFX/Swing/AWT/Applets/WebStart)的官方立场、打算支持这些技术的日期

去年我对JavaFX做了一些研究,甚至用它构建了一些基本的桌面应用程序

它被描述为用于创建RIA(富互联网应用程序)

但它真的可以通过web浏览器部署吗?我只通过一个可执行JAR文件部署了它

通过web浏览器部署有多容易?它有用吗?有人有这方面的经验吗

2018年3月Java客户端路线图的更新

我鼓励对此问题感兴趣的读者阅读以下Oracle白皮书:

上述文件概述了Oracle对相关技术(JavaFX/Swing/AWT/Applets/WebStart)的官方立场、打算支持这些技术的日期,以及打算将哪些技术过渡到独立于JDK和JRE的开源开发项目

Java 9的更新,2017年10月

根据报告:

Java小程序和WebStart功能,包括小程序API、Java插件、Java小程序查看器、JNLP和Java Web Start,包括javaws工具,在JDK 9中都不推荐使用,并将在将来的版本中删除

因此,对于Java 9+,使用Java插件在浏览器中部署JavaFX只能使用不推荐的技术。Oracle在另一部分中指出:

不推荐Oracle JDK 9版本中的Java插件和相关小程序技术。虽然这些技术在JDK 9中仍然可用,但在未来的版本中将考虑从Oracle JDK和JRE中删除这些技术。嵌入在网页中的小程序和JavaFX应用程序需要Java插件才能运行。考虑将这些类型的应用程序改写为java Web启动或自包含的应用程序。 注意:JavaWebStart并不是一个真正的替代方案,因为它也被弃用(无论如何,它不同于浏览器页面中嵌入和呈现的应用程序)。另外请注意,对于那些希望使用Web Start的人,尽管它现在已从Oracle JDK 11+中删除,但它是开源的,有关信息请访问

作为一种提供类似功能的替代方案,考虑一些类似的东西,它在Java浏览器中部署java avax应用程序(没有Java插件)(JPRO目前只处于封闭测试版,因此它不是一个可行的解决方案,在2017年10月,但也许将来某一天……) 目前,我建议部署JavaFX应用程序的最佳方法是在浏览器外运行


Java7和Java8的上一个答案

JavaFx-它真的可以部署在浏览器中吗

是的,可以部署JavaFX应用程序,以便它们在web浏览器托管的html网页中运行

允许这种情况发生的技术是。此插件目前是基于浏览器的插件解决方案。Java插件随附

并非所有浏览器都受支持,仅支持上列出的浏览器

通过web浏览器部署有多容易

在web浏览器中部署JavaFX项目的最简单方法是:

  • 请按照以下说明进行操作
  • (在我看来)这并不难

    或者,按照详细参考说明操作(或使用第三方工具)。对于许多项目,使用NetBeans IDE以外的工具来执行打包是一种更好的方法。但是,让NetBeans IDE为您处理部署打包任务通常更容易


    以下内容与回答原始问题无关,但提供了一些意见和对该答案的评论中要求的信息

    一些建议

    在浏览器中部署Java存在缺陷。我鼓励你自己在谷歌上做这方面的研究

    在我看来,基于当前的JavaFX2.x部署模型,对于大多数需要浏览器作为主要运行时容器的应用程序类型,使用JavaFX不是合适的解决方案

    检查应用程序的部署和运行时要求。根据您的需求和对基于JavaFX浏览器的执行模型的了解,确定使用JavaFX技术的基于浏览器的部署是否适合您的应用程序

    浏览器嵌入式JavaFX应用程序的几个潜在困难

    一些重要的浏览器(例如,和不久的将来)不允许使用Java浏览器插件当前使用的NPAPI执行插件=>一些目标用户可能无法使用您的应用程序

    对于浏览器嵌入式应用程序,您无法完全控制应用程序执行的运行时(浏览器+Java运行时+插件接口)=>首次安装时正在运行的应用程序在更新这些运行时组件后可能会按预期停止运行

    部署备选方案


    如果基于浏览器的部署模型不适用于您的应用程序,则有其他方法(例如WebStart、独立JAR和自包含的应用程序)进行部署

    我偶然找到了解决办法。 我的web项目中缺少了什么

    我必须将此添加到web.xml文件:

     <mime-mapping>
        <extension>jnlp</extension>
        <mime-type>application/x-java-jnlp-file</mime-type>
    </mime-mapping>
    
    
    jnlp
    application/x-java-jnlp-file
    
    JavaFX-它真的可以部署在浏览器中吗

    不,不再是了。

    答案过去是肯定的,如中所示,尽管即使在2013年写下这句话时,文字仍在墙上。然而,2016年的答案是否定的,它不能。现代浏览器基本上不再支持NPAPI(Firefox支持Java,但只支持到今年年底),Java插件需要NPAPI。

    从2016年起,您可以在没有任何浏览器插件的情况下使用。它甚至可以在手机上运行


    编辑1:该项目对于非商业或开源项目是免费的。可以找到“hello world”

    非常感谢您的评论。我想你会对每个人都有好处