Java Webstart сообщает о неправильных параметрах загрузчика


У меня проблема с запуском приложения Java RCP через Java Webstart.

Это работает для других членов команды, но не для меня. (разве вы просто не любите такого рода проблемы) Я считаю, что проблема заключается в том, что он загружает 32-битную версию приложения, а не 64-битную.

Когда я смотрю на webstart .файл журнала на моей машине я могу видеть следующее.

!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 немного.

У кого-нибудь есть идеи, как мне действовать дальше?
1 4

1 ответ:

Константы загрузчика, по-видимому, вводят в заблуждение, поскольку при печати переменных окружения для JVM, выполняющего webstart, сообщается:

ОС: Windows 7 Arch: amd64

Мы отследили проблему вплоть до соответствующих SWT-банок для пользовательской среды, которая не загружается (чтобы добавить веселья, это приложение RCP, развернутое через webstart).

В соответствующем файле 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 и вовсе был хорош.

Проблема на машине Дэвида была запущена 64-битная JVM, и она сообщает, что свойство arch сообщается как amd64, а не x86_64 (несмотря на то, что это процессор Intel).

Изменение вида раздела ресурсов следующим образом решает проблему:

<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>