Подтвердить что ты не робот

Webstart работает с неправильной версией JRE

У меня есть приложение Java webstart, для которого требуется Java 7+, поэтому JNLP имеет следующую строку:

<j2se version="1.7+" href="#" onclick="location.href='http://java.sun.com/products/autodl/j2se'; return false;"/>

Это работает на разных машинах Windows XP и Windows 7 (большинство из них также имеют установленный Java 6), но на одном из них webstart запускается с использованием Java 6 и не выполняется (неправильная версия JRE). Я нашел этот пост и проверил настройки Java, и они выглядят нормально:

enter image description here

Я также попытался изменить строку JNLP на это, но он все еще не работает:

<j2se version="1.7+"/>

Любые идеи о том, как позволить webstart знать, что JRE 1.7 есть?

Конфигурация: Windows 7, запускается как администратор - приложение webstart, запущенное из IE.

4b9b3361

Ответ 1

Я нашел проблему. У меня были установлены Java 6 32bits и 64bits, но на Java 7 была установлена ​​только 64-битная версия. И я запускал ссылку webstart из Internet Explorer 32 бит, что, я полагаю, не может использовать 64-разрядную версию JRE.

Запуск webstart из 64-разрядных IE файлов работал нормально.

Спасибо за ваши комментарии, я решил проблему, выполняя одно из описанных вами манипуляций.

Ответ 2

У меня была аналогичная проблема с тем, что Java 6 используется для запуска JNLP, а не для Java 7 (у меня оба установлены), даже если у меня установлены настройки JAVA_HOME, PATH и Java Control Panel 7. Java 7 будет использоваться, когда запуск с веб-страницы, но с ярлыка на рабочем столе, Java 6 использовался и поэтому не смог запустить приложение, так как ему требуется 7.

Оказывается, что есть исполняемые файлы java, javaw и javaws, присутствующие в C:\Windows\SysWOW64, и это то, на что указывает сгенерированный ярлык. Поэтому я переписал эти EXE с помощью файлов C:\Program Files\Java\jre7\bin.

Возможно, переустановка JRE 7 также исправила бы это, но я просто пошел на это быстрое исправление.