2015-05-30 2 views
1

Я сделал очень простую программу с Eclipse Indigo и экспортировал ее как исполняемый банку на свой рабочий стол. Если я использую команду «java -jar SayHello.jar», программа запускается, но если я дважды щелкнув SayHello.jar на своем рабочем столе, моя мышь получает вращающееся колесо, выглядя так, будто оно что-то загружается, но потом колесо идет и ничего не происходит. Это происходит для каждого файла jar, а не только для этого. Я искал часы о том, как это исправить, но ничего не сработало. Любая помощь будет принята с благодарностью. Благодаря!Невозможно открыть .jar, используя двойной щелчок, только с cmd

+1

Файлы .jar' не являются исполняемыми файлами, они ближе по отношению к файлам .zip. Вам нужно обернуть его в исполняемый файл или написать пакетный файл для запуска 'java -jar SayHello.jar' при запуске. –

+1

это проблема с ОС ... ассоциация расширения файлов – ZhongYu

+0

, если вам нужно декомпилировать файл jar, посмотрите на это http://jd.benow.ca/ – jinggoy

ответ

0

Для Java на Windows, (который вы фактически не указывать) действия по умолчанию При двойном клике на .jar файл, как вы нашли, чтобы запустить его с javaw JVM, которая является режим «GUI» и что-нибудь код записывается в System.out. JVM java выводит в консольное окно, но если это окно было создано двойным щелчком, оно исчезает, как только код выйдет, как вы нашли.

Обратите внимание на "объединение" для .jarHKCR\jarfile\shell\open\command) должны быть

"(YOUR_JREDIR_usually_progfiles-arch-jre-version)\bin\javaw.exe" -jar "%1" %* 

или java.exe для консоли, в любом случае с-jar. Я не думаю, что панель управления правильно установит дополнительные аргументы флага, и это будет учитывать «не может найти основной класс».

Пакетный файл с две линии java -jar myjar и затем pause, когда должен работать двойной клик класс, и когда он выходит ждать, пока вы не нажмете любую клавишу до уничтожения окна. Вместо этого вы можете использовать timeout numseconds, чтобы ограничить ожидание.

ADDED: Double Clicking JAR file does not open Command Prompt имеет другой способ, позволяющий избежать исчезновения окна консоли: используйте cmd /s /k вместо пакетного файла.