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 ответ:
Константы загрузчика, по-видимому, вводят в заблуждение, поскольку при печати переменных окружения для 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>