Невозможно запустить файлы .jar двойным щелчком по ним в Windows 7

Запуск файла .jar в командной строке работает нормально, но Я не могу выполнить файлы .jar на своем ПК, дважды щелкнув их. Что интересно, те же файлы .jar успешно запускаются на моем ноутбуке двойным щелчком мыши.

Я включил %JAVA_HOME\bin и JDK_HOME\bin в переменную PATH.
У меня JAVA_HOME установлено на C:\Program Files\Java\jre1.8.0_121.
У меня JDK_HOME установлено на C:\Program Files\Java\jdk1.8.0_121.

На некоторое время двоичный файл Java (TM) Platform SE исчез из списка Open with, и я не мог добавить его, пока не изменил ключ HKEY_CLASSES_ROOT\jar_auto_file\shell\open\command в regedit.exe на соответствующую версию:

C: \ Program Files \ Java \ jre1.8.0_ 121 \ bin \ javaw.exe ""% 1 ".


Вот снимок Windows CMD с введенным java -version на моем ПК:
java -версия в Windows CMD


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

  • переустановка JRE и JDK,
  • связывание файлов .jar с C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe,
  • используя assoc .jar=jarfile и ftype jarfile="C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe" -jar "%1" %* в командной строке,
  • создание новой системной переменной среды OPENDS_JAVA_ARGS и установка для нее значения -jar.


Дополнительная информация:

  • Я использую 64-разрядную версию Windows 7 Professional (Service Pack 1) с последними обновлениями, установленными как на моем ПК, так и на ноутбуке.
  • Запуск файлов .jar двойным щелчком по ним раньше работал на моем ПК, но внезапно перестал работать некоторое время назад. Я не менял ничего, связанного с Java.
  • У меня последняя версия JRE и JDK (Java 8 версии 121).
  • Из файлов .jar, которые я пытаюсь запустить, некоторые представляют собой приложения Swing с графическим интерфейсом пользователя, а некоторые открывают системную консоль (если еще не открыты) с помощью Runtime.getRuntime().exec(String[]).


Я уже пытался решить эту проблему с помощью решений по следующим ссылкам (безуспешно):


Примечания:

  • Я не хочу открывать файлы .jar с помощью WinRAR.
  • Я не хочу открывать файлы .jar, запустив java -jar jarfile.jar в cmd.exe.
  • Я не ищу стороннее приложение для запуска файлов .jar.


На данный момент я использую C:\Windows\System32\cmd.exe /k "java -jar C:\path\to\jarfile\Program.jar" в качестве ярлыка для запуска файлов jar, но меня не устраивает это решение, поскольку оно открывает консоль для запуска даже приложений Swing.


person bobasti    schedule 18.03.2017    source источник
comment
Это хорошо написанный вопрос, вы вложили в него много работы. Тем не менее, я боюсь, что это может быть отмечено как не относящееся к теме, поскольку это скорее общая проблема аппаратного / программного обеспечения, чем вопрос программирования. Просто чтобы вы знали.   -  person domsson    schedule 18.03.2017
comment
Затем мне следует подумать о создании учетной записи суперпользователя и задать там тот же вопрос, если он будет помечен до того, как кто-нибудь на него ответит.   -  person bobasti    schedule 18.03.2017
comment
Вы можете использовать там свою учетную запись stackoverflow, создавать новую не нужно.   -  person Stefan Hegny    schedule 21.03.2017


Ответы (1)


Мне удалось получить двоичный файл Java (TM) Platform SE (javaw.exe) в списке Открыть с помощью, сопоставив пути в записях реестра HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE:

HKEY_CURRENT_USER \ Software \ Classes \ jar_auto_file \ shell \ open \ command

HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ jarfile \ shell \ open \ command

Похоже, что одна из записей указывает на более старую версию Java. Теперь .jar файлы, наконец, отображают значки, но по-прежнему не работают при двойном щелчке.

ОБНОВЛЕНИЕ: РЕШЕНИЕ

Удалите записи .jar и jar_auto_file из HKEY_CURRENT_USER/Software/Classes, и все должно работать. .jar файлы должны открываться при повторном двойном щелчке.
Обязательно сначала сделайте резервную копию этих записей, щелкнув запись правой кнопкой мыши и выбрав Export.

Дополнительную информацию можно найти на суперпользователь.

person bobasti    schedule 23.05.2017