Windows, запустите JAR с двойным кликом

Я экспериментирую с Java впервые. Я использую Intellij IDEA и создаю простое приложение. В IDE все работает нормально, затем я создаю JAR-артефакт и запускаю его так: java -jar myappname.jar без проблем.

Теперь я хотел бы запустить тот же JAR, дважды щелкнув по нему из проводника, но ничего не происходит, почему?

Обратите внимание, что если я дважды щелкну другой JAR-файл (sikulixsetup-1.1.3.jar), он запустится правильно и покажет графический интерфейс, поэтому проблема заключается не в ассоциации типов в Windows.

Мое тестовое приложение не имеет графического интерфейса, но я знаю, работает ли оно правильно, потому что оно автоматизирует окна с помощью библиотеки Sikulixapi, поэтому я вижу, работает ли оно что-то или нет.

Спасибо!

2 ответа

Хорошо, я решил свою проблему. Обычно JAR запускается без каких-либо проблем, просто дважды щелкая его в Windows, в моем случае он не работал, потому что файлы.jar были связаны с 32-битной версией javaw.exe, в то время как код в JAR ожидал 64-битную среду. Изменение ассоциации типов.jar в Windows с 32-битной на 64-битную версию javaw.exe решило проблему

Измените программу по умолчанию, которая будет использоваться при открытии файла с одной Java на другую (с 32 на 64 бит или наоборот).

Это потому что jar это не исполняемый двоичный файл, а обычный zip-архив. ОС не может выполнить это. Вот почему вы должны использовать java исполняемый файл и передать архив в качестве аргумента для запуска вашего приложения.

Если вы хотите, чтобы ваше приложение было "кликабельным", вы должны использовать какое-нибудь решение-оболочку, например http://launch4j.sourceforge.net/

Другие вопросы по тегам