Как и Pietu1998, javaw.exe
фактически запускает вашу программу, но не открывает консольное окно. Это связано с тем, что javaw.exe
предназначен для запуска графических интерфейсов, которые, очевидно, не нуждаются в командной строке. См. this question. В чем разница между java.exe
и javaw.exe
.
Даже
javaw -jar HelloWorld.jar
в командной строке будет выглядеть ничего не происходит. Перенаправление вывода в файл, и вы увидите, что ваша программа на самом деле гласила:
javaw -jar HelloWorld.jar > HelloWorld.txt
Выход вашей программы будет находиться в файле HelloWorld.txt
.
Обычно все программы java не полагаются только на двойной щелчок, чтобы запустить, но приходят с видом launcher
, который подготавливает среду - особенно setting up the classpath - для вашего приложения затем запускает его. Это зависит от платформы, и если платформа позволяет запустить ее с помощью двойного щелчка, то она будет запускаться именно так. Такая пусковая установка может быть простым сценарием: .bat
, .cmd
, .sh
или исполняемый файл .exe
. Например, если вы посмотрите на папку, в которой вы установили eclipse, вы найдете файл eclipse.exe
(предполагая, что ваша платформа - это окна). Создание такой пусковой установки также легко и объясняется в this question.
Уже ответил здесь - http://stackoverflow.com/questions/8784300/executable-jar-doesnt-start-normally – hImAnShU
Когда двойной щелчок на jar Java открывает его в 'javaw.exe', t показать консольный вывод. Ваш код работает, вы просто не можете его увидеть. Вы можете получить тот же результат, запустив 'javaw -jar HelloWorld.jar'. – Pietu1998