【问题标题】:May I deploy jfxrt.jar with my application (technically)?我可以在我的应用程序中部署 jfxrt.jar(技术上)吗?
【发布时间】:2014-02-26 18:46:25
【问题描述】:

jfxrt.jar是纯java吗?如何证明这一点?我可以将jfxrt.jar 与我的应用程序一起部署吗?它可以与JRE 的任何版本一起使用吗?

在安装的JRE 中不会干扰jfxrt.jar 吗?

如果我的应用程序将在 Java8 下运行,而 javafx 集成得更紧密,该怎么办?

更新

我不明白“非纯 Java”是什么意思?如果 jar 加载并使用原生库,那么它不是纯粹的定义吗?我说的不对吗?

【问题讨论】:

标签: java jar javafx javafx-2


【解决方案1】:

可能是 Oracle 的某个人会对这个问题给出更好的答案。据我所知:

  1. yes jfxrt.jar is pure java,从来没有听说过 jar 不是纯 java 双关语

  2. Yes您可以使用 jfxrt.jar 部署您的应用程序

  3. 它将与任何 JRE 一起运行 - NO,因为 javafx 是使用 java 和 AFAIK 构建的,javafx 使用最低 java 7(不确定更新版本)。因此,您必须在系统上至少安装 JRE 7。

  4. 它不会干扰已安装 JRE 中的 jfxrt.jar - It may, as it does for any other jar

  5. 如果我的应用程序将在 Java8 下运行,其中 javafx 集成得更紧密 - 没有意义。我是not able to get the question

【讨论】:

    【解决方案2】:
    1. jar 是纯 Java,但它从 JRE/lib 目录加载本机库。因此,将 jfxrt.jar 与您的应用程序一起提供很可能会导致本机库与其 Java 对应部分不匹配
    2. jfxrt.jar 是 OpenJDK 的一部分,因此您可以根据 OpenJDK 的条款发布它
    3. Oracle 推荐的选项是使用他们的打包工具将 JRE 与您的应用程序打包在一起,而不是依赖于 System-JRE

    【讨论】:

    • 如果 jar 加载并使用原生库,那么它不是纯粹的定义吗?我说的不对吗?
    • 嗯,a 可能是纯 java 的定义,是 rt.jar 纯 java - 但是是的,javafx 的许多部分都是在 c 中实现并通过 jni 访问的
    猜你喜欢
    • 1970-01-01
    • 2018-06-12
    • 2017-12-13
    • 2021-11-27
    • 2017-11-19
    • 2016-09-15
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多