我有一个传递JaNeLa的jnlp文件,所以它没有错误。 Web启动应用程序在Linux和Windows 32位上运行良好。它无法在Windows 64位上运行。我设计了以下测试来确定javaws是否正在加载正确的本机库:
这是jnlp存根(文件的其余部分很好......相信我):
<resources os="Windows" arch="x86_64">
<nativelib href="swt-4.2-win32-x86_64.jarx" />
</resources>
<resources os="Windows" arch="x86">
<nativelib href="swt-4.2-win32-x86.jarx" />
</resources>
Javaws尝试加载32位库,这意味着它无法识别arch =“x86_64”
所以我把第一行改为:
<resources os="Windows" arch="amd64">
但是javaws仍然试图加载32位文件。无论发生什么,我的操作系统的架构都没有被发现。
我在张贴之前已经拖了很多东西。有人说使用amd64,有人说使用x86_64,但都不起作用。找到详尽的OS / arch列表几乎是不可能的。
问题:如何从64位计算机请求时javaws加载64位二进制文件?
编辑:
我可以通过在jnlp文件中放入以下标记找到正确的文件:
<resources os="Windows" arch="x86\ ">
因此有一个以“x86”开头的arch值。但如果我把“x86 64”它不起作用。所以有一个空间,但空间之后是什么? Oracle是否发布了此字段的可接受值列表?
答案 0 :(得分:1)
好吧,我认为自从我运行Windows 7 pro 64位以来我的JVM也是64位。不。您的浏览器第一次指向javaws应用程序时,它会为您安装JVM。安装的JVM取决于您的浏览器。 Windows 7 64位预装了IE 32位,这是javaws提取的32位lib。因此,乍看之下,关于架构选择正确的本机库的问题似乎已经解决了。仍有问题,但这不是其中之一。