Windows, запустите JAR с двойным кликом - PullRequest
0 голосов
/ 08 ноября 2018

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

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

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

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

спасибо!

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

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

0 голосов
/ 08 ноября 2018

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

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

...