Java Webstart报告错误的Bootloader选项

我在通过Java Webstart运行Java RCP应用程序时遇到问题.

这适用于团队中的其他人,但不适合我. (难道你不喜欢那些问题)

我认为问题是它正在下载32位版本的应用程序,而不是64位.

当我查看机器上的webstart .log文件时,我可以看到以下内容.

!SESSION 2012-07-06 16:24:37.672 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_32
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_GB

所以我认为问题是OS-win32,WS = win32.

我的机器是Windows 7 64位.

有没有人对我应该如何进行有任何想法?

解决方法:

引导加载程序常量似乎具有误导性,因为在打印运行webstart的JVM报告的环境变量时:

操作系统:Windows 7
Arch:amd64

我们将问题跟踪到相关的SWT罐子,因为没有下载用户环境(为了增加乐趣,这是通过webstart部署的RCP应用程序).

在相关的jnlp文件中,我们有以下部分:

<resources os="Windows" arch="x86">
    <jar href="plugins/org.eclipse.swt.win32.win32.x86_${org.eclipse.swt.win32.win32.x86.version}.jar"/>
</resources>
<resources os="Windows" arch="x86_64">
    <jar href="plugins/org.eclipse.swt.win32.win32.x86_64_${org.eclipse.swt.win32.win32.x86.version}.jar"/>
</resources>

<resources os="Windows" arch="x86">
    <jar href="plugins/org.eclipse.equinox.launcher.win32.win32.x86_${org.eclipse.equinox.launcher.win32.win32.x86.version}.jar"/>
</resources>
<resources os="Windows" arch="x86_64">
    <jar href="plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_${org.eclipse.equinox.launcher.win32.win32.x86.version}.jar"/>
</resources>

对于大多数人来说这很好,因为32位jre会下载x86架构的资源,一切都很好.

David的机器上的问题是运行64位JVM,它报告arch属性被报告为amd64而不是x86_64(尽管它是Intel cpu).

将资源部分更改为如下所示可解决此问题:

<resources os="Windows" arch="x86">
    <jar href="plugins/org.eclipse.swt.win32.win32.x86_${org.eclipse.swt.win32.win32.x86.version}.jar"/>
</resources>
<resources os="Windows" arch="x86_64">
    <jar href="plugins/org.eclipse.swt.win32.win32.x86_64_${org.eclipse.swt.win32.win32.x86.version}.jar"/>
</resources>
<resources os="Windows" arch="amd64">
    <jar href="plugins/org.eclipse.swt.win32.win32.x86_64_${org.eclipse.swt.win32.win32.x86.version}.jar"/>
</resources>

<resources os="Windows" arch="x86">
    <jar href="plugins/org.eclipse.equinox.launcher.win32.win32.x86_${org.eclipse.equinox.launcher.win32.win32.x86.version}.jar"/>
</resources>
<resources os="Windows" arch="x86_64">
    <jar href="plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_${org.eclipse.equinox.launcher.win32.win32.x86.version}.jar"/>
</resources>
<resources os="Windows" arch="amd64">
    <jar href="plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_${org.eclipse.equinox.launcher.win32.win32.x86.version}.jar"/>
</resources>    
上一篇:你会如何管理每个c#类的常量?


下一篇:php-将预定义常量定义为什么