gpt4 book ai didi

即使客户端是 64 位,javaws 也始终加载 32 位库

转载 作者:行者123 更新时间:2023-12-01 14:12:01 25 4
gpt4 key购买 nike

我有一个通过 JaNeLa 的 jnlp 文件,因此它没有错误。 Web Start 应用程序在 Linux 和 Windows 32 位上运行良好。它无法在 Windows 64 位上运行。我设计了以下测试来确定 javaws 是否正在加载正确的 native 库:

  • 将jnlp文件中的库文件名称更改为不存在的文件
  • 加载应用程序以强制出现文件未找到错误,以查看它正在尝试加载哪个文件

这是 jnlp stub (文件的其余部分很好......相信我):

<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,但两者都不起作用。找到详尽的操作系统/体系结构列表几乎是不可能的。

问题:当 64 位机器请求时,如何让 javaws 加载 64 位二进制文​​件?

编辑:

我可以通过将以下标记放入 jnlp 文件来找到正确的文件:

<resources os="Windows" arch="x86\ ">

因此存在一个以“x86”开头的 arch 值。但如果我输入“x86 64”,它就不起作用。所以有一个空格,但是空格后面是什么? Oracle 没有发布此字段可接受值的列表吗?

最佳答案

好吧,我假设由于我运行的是 windows 7 pro 64 位,所以我的 JVM 也是 64 位。不是。当您的浏览器第一次指向 javaws 应用程序时,它会为您安装 JVM。安装的 JVM 取决于您的浏览器。 Windows 7 64 位预装了 IE 32 位,这是 javaws 正在获取 32 位库。因此,乍一看,根据架构选择正确的 native 库的问题似乎已经解决。仍然存在问题,但这不是其中之一。

关于即使客户端是 64 位,javaws 也始终加载 32 位库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18445966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com