【问题标题】:Is there a way to make a jnlp file use a 64-bit JRE?有没有办法让 jnlp 文件使用 64 位 JRE?
【发布时间】:2017-07-06 09:58:40
【问题描述】:

我有两个版本的 .jnlp 来启动应用程序,一个带有 java-vm-args="-Xmx4g" jvm 选项,可以在内存更大的机器上运行,另一个带有 java-vm-args="-Xmx1g" 的版本,可以在内存更少的机器上运行。 我希望带有-Xmx4g 选项的 .jnlp 可以在 64 位 JRE 上运行(如果可用),但是,.jnlp 文件始终使用 Java(TM) Web Start Launcher 启动,默认情况下始终使用 32 位 JRE如果同一 JRE 版本的 32 位和 64 位版本(我同时安装了 Java 8 v121 的 32 位和 64 位版本)。

有没有办法让Java(TM) Web Start Launcher 使用 64 位 JRE 而不是这个特定 .jnlp 的默认 32 位 JRE?在现场使用此应用程序的用户还必须安装 32 位 JRE 才能运行旧版应用程序,因此不能选择卸载 32 位 JRE。

【问题讨论】:

    标签: java windows-7 java-web-start


    【解决方案1】:

    你可以在jnlp文件中指令:

    <resources arch="amd64">
    

    来自文档:

    指定此信息元素应用于的架构 考虑

    【讨论】:

    • 根据我的经验,该部分并没有指示应该使用哪个 JVM —— 相反,它告诉 Java“如果我在 amd64 JVM 上运行,应用/使用这些封闭的资源。”实际上,JNLP 文件可以包含多个“资源”部分,每个部分具有不同的“arch”属性值。如果您的 Java 应用程序使用本机库,并且您的应用程序捆绑了所有这些本机库,这将非常有用。这些部分告诉 Java 要加载哪些本机库。
    【解决方案2】:

    肯定有更好的办法,但一种解决方法是右键单击 jnlp 并选择 64 位 java 可执行文件以启动 jnlp 文件。

    【讨论】:

    • 你能补充一些细节吗?
    • 可以运行命令 javaws.exe 或者右键jnlp文件->openwith->浏览到64位java文件夹->选择javaws .exe
    • 谢谢,我试过了,但它不起作用,至少在 Win7 上不起作用。当我右键单击 .jnlp 文件并尝试选择 javaws.exe 作为运行它的默认程序时,它不会显示在“推荐程序”下作为我可以选择运行此文件的可执行文件之一。我认为这是因为,根据 FileInfo link,唯一可以运行 .jnlp 文件的可执行文件是 Oracle Java Web Start 或文本编辑器。
    猜你喜欢
    • 1970-01-01
    • 2011-05-16
    • 2015-03-20
    • 2015-08-02
    • 1970-01-01
    • 2022-12-23
    • 2017-11-08
    • 1970-01-01
    • 2011-12-20
    相关资源
    最近更新 更多