Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法让jnlp文件使用64位JRE?_Java_Windows 7_Java Web Start - Fatal编程技术网

Java 有没有办法让jnlp文件使用64位JRE?

Java 有没有办法让jnlp文件使用64位JRE?,java,windows-7,java-web-start,Java,Windows 7,Java Web Start,我有两个版本的.jnlp来启动一个应用程序,一个带有java-vm-args=“-Xmx4g”jvm选项以在内存较多的机器上运行,另一个带有java-vm-args=“-Xmx1g”以在内存较少的机器上运行。 我希望带有-Xmx4g选项的.jnlp可以在64位JRE上运行,但是,.jnlp文件总是使用Java(TM)Web Start Launcher启动的,默认情况下,如果同一JRE版本的32位和64位版本(我安装了32位和64位版本的Java 8 v121),它总是使用32位JRE 有没有办

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


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

必须有更好的方法,但一个解决方法是右键单击jnlp并选择64位java可执行文件来启动jnlp文件。

您可以在jnlp文件中指示它:

<resources arch="amd64">

从文件中:

拱门

指定此信息元素应用于的体系结构 被考虑


您可以添加一些详细信息吗?您可以运行javaws.exe命令,或者右键单击jnlp文件->openwith->浏览到64位java文件夹->选择javaws.exe谢谢,我试过了,但不起作用,至少在Win7上不起作用。当我右键单击.jnlp文件并尝试选择javaws.exe作为运行该文件的默认程序时,它不会作为我可以选择运行该文件的可执行文件之一显示在“推荐程序”下。我认为这是因为,根据FileInfo,唯一可以运行.jnlp文件的可执行文件是Oracle Java Web Start或文本编辑器。根据我的经验,该部分并不指导应该使用哪个JVM,而是告诉Java“如果我在amd64 JVM上运行,请应用/使用这些附带的资源。”实际上,jnlp文件可以包含多个JVM“资源”部分,每个部分都有不同的“arch”属性值。如果您的Java应用程序使用本机库,并且您的应用程序捆绑了所有这些本机库,则这非常有用。这些部分告诉Java要加载哪些本机库。