Windows 7 Jar не работает с двойным щелчком

381
Armin

У меня следующая проблема: я написал программу на Java для сообщества, и они пытаются ее запустить. Они установили Java и попытались дважды щелкнуть по нему, но ничего не произошло.

Под моим удаленным наблюдением мы попробовали следующее:

  • Щелкните правой кнопкой мыши -> открыть с помощью -> Java (W)

  • Панель управления -> Программы по умолчанию -> Связать тип файла или протокол с определенной программой -> .jar -> \ path \ to \ java \ bin \ java (w) .exe

  • В CMD:

    assoc .jar=jarfile ftype jarfile="C:\path\to\java\bin\java(w).exe" -jar "%1" %* 

Все вышеперечисленное еще раз после переустановки java и перезагрузки, а также после удаления ключа реестра [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jar]

Все они были опробованы с java.exe и javaw.exe.

Работает без проблем в cmd.exe с .java -jar program.jar

Я также пытался создать командный файл с

@ECHO OFF java -jar program.jar 

это находится в том же каталоге, что и моя программа. Мы тоже пытались это сделать java.exe -jar program.jar(в командном файле).

Когда мы использовали Java, выскочило окно cmd, но больше ничего не произошло; с челюстью ничего не случилось. Просто курсор мыши переключился на символ загрузки, а затем вернулся обратно. После этого не было никаких процессов Java.

РЕДАКТИРОВАТЬ

Я послал их по электронной почте, где я сказал им, чтобы удалить jarи jar_auto_fileклассы из реестра в HKEY_CURRENT_USER/Software/Classesно это не помогло.

Мне только что позвонили в сообщество, и я попытался получить больше информации, почему происходит сбой программы. Таким образом, мы добавили pauseв пакетный файл, но ничего особенного (учитывая историю этого компьютера) не произошло. Файл выглядел так:

@ECHO OFF java.exe -jar progam.jar pause 

Во время выполнения этой программы окно консоли всплыло и снова исчезло. pauseне сработало, видимо ...

Я также попытался использовать cmd /kвместо паузы или переключил последние две строки (сначала cmd /kпотом java ...) безрезультатно.

Последняя попытка запускала cmd вручную и выполнялась cmd /k program.bat(да, командный файл), чтобы посмотреть, не выдаст ли мне сообщение об ошибке. Но он просто повторил путь к bat-файлу и все.

В то же время они установили Java на аналогично настроенном ПК, и там все заработало как обычно (Java установлена, двойной щелчок на jar, готово). Итак, я в конце концов сошел с ума, пожалуйста, скажите мне, если у вас есть еще идеи о том, что тестировать. Теперь дело не столько в решении проблемы для моего клиента, сколько в болезненном интересе к тому, в чем проблема на самом деле ...

0
@LotPings спасибо, посмотрю если это так Armin 5 лет назад 0
(1) Вы говорите, что контролировали их удаленно. Я ненавижу оскорблять чей-то интеллект, но как вы уверены, что они правильно щелкают дважды? (2) Что именно произошло, когда ты попробовал то, что попробовал? (Меня особенно интересует «Open With».) (3a) Вам почти никогда не нужно произносить «.exe». (3b) Помещение пакетного файла в тот же каталог, что и файл JAR, само по себе не имеет смысла. Попробуйте поместить путь к файлу JAR в командный файл; то есть `@ECHO OFF` /` java -jar C: \ Users \ Armin \ program.jar`. (3c) Также попробуйте добавить команду `pause` в конец пакетного файла. Scott 5 лет назад 0
Пожалуйста, не отвечайте в комментариях; [отредактируйте] ваш вопрос, чтобы сделать его более понятным и полным. Scott 5 лет назад 0
PS Насколько я знаю, `PATHEXT` не имеет ничего общего с запуском программ через GUI. Я ошибся? Scott 5 лет назад 0
@ Скотт Я ответил в комментариях, потому что я собираюсь проверить это, я не проверял это, таким образом, я не собираюсь включать это как проверенный путь. Это первый раз, когда я услышал о `PATHEXT`, так что я не знаю ... Я уверен, что это было сделано правильно, потому что, когда мы пытались сделать это с` java` вместо `javaw`, выскочило окно CMD вверх, который был упомянут в вопросе. «Пауза» на самом деле очень хороший совет, спасибо, я тоже попробую, может быть, я смогу получить больше информации таким образом ... Armin 5 лет назад 0
Читали ли вы [java - Невозможно запустить файлы .jar, дважды щелкнув их в Windows 7 - Суперпользователь] (https://superuser.com/questions/1194758/unable-to-run-jar-files-by-double щелчок-им-на-Windows-7)? DavidPostill 5 лет назад 0
@DavidPostill Я нашел это во время написания вопроса. Но я чувствую, что это не так, потому что java запускается (cmd выскакивает, если вместо javaw.exe используется java.exe) Armin 5 лет назад 0
`C: \ путь \ к \ java \ bin \ java (w) .exe` неверен. `java (w) .exe` не существует. Это должен быть `C: \ path \ to \ java \ bin \ javaw.exe` DavidPostill 5 лет назад 0
@DavidPostill это просто сокращение, что я протестировал java.exe и javaw.exe ... Armin 5 лет назад 0
[java - Как запустить файл .jar двойным щелчком мыши в Windows 7 (64) - Переполнение стека] (https://stackoverflow.com/questions/8511063/how-to-run-jar-file-by-double-click -он-окна-7-64) DavidPostill 5 лет назад 0
Давайте [продолжим это обсуждение в чате] (https://chat.stackexchange.com/rooms/79899/discussion-between-armin-and-davidpostill). Armin 5 лет назад 0
@ Скотт хорошо, мы попробовали это сейчас с `pause`, но с двойным щелчком, он просто сделал то же самое, мы использовали` java.exe` при выполнении, и окно консоли выскочило и немедленно закрылось. Затем я попытался сделать это с помощью `cmd / k program.bat`, и сообщения об ошибках не печатались ... Я не знаю, что случилось с установкой Java на этом компьютере, но, видимо, там ничего не работает -.- (Я добавляю эту информацию в вопрос так же, просто хотел вам сказать) Armin 5 лет назад 0

0 ответов на вопрос