X

Запуск jar файла по двойному клику

Сделал экспорт GUI проекта в jar файл, и по двойному клику по нему получал ошибки запуска. Но при запуске через консоль все работало прекрасно. Конечно через консоль совсем не удобно запускать и создавать постоянно bat файлы так же не охота. Поэтому я решил пофиксить это.

Под запуском через консоль, я понимаю вот такой запуск:

start javaw.exe -jar project.jar

А моей целью было чтобы тоже самое делалось по двойному клику на jar файле. Итак решение есть, а именно меняем ассоциации для запуска. Делается это так:

1. Открываем консоль windows: Win+R -> cmd.exe

2. Дальше выполняем такие команды

assoc .jar=JARFile
ftype JARFile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1"

Разумеется, путь к javaw вы задаете специфичный для вас, либо если у вас путь уже прописан в переменной окружения PATH, то можно написать так:

assoc .jar=JARFile
ftype JARFile="javaw.exe" -jar "%1"

Так будет лучше, потому что вы сможете менять версию JRE в одном месте (в переменной PATH).

Для удобства установки на клиентский компьютер, можно сделать bat файл:

@echo off
assoc .jar=JARFile
ftype JARFile="javaw.exe" -jar "%1"

Только надо не забывать прописывать путь до bin директории JRE в окружение.

Категории: Java

Комментарии (5)

  • Что бы запускать консольные приложения нормально по двойному клику на них, необходимо сделать так:
    assoc .jar=jarfile
    ftype jarfile="cmd" /K java.exe -jar "%1"

    Только надо не забывать прописывать путь до bin директории JRE в окружение.

  • Прописал ==assoc .jar=JARFile" ==ftype JARFile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1"== результат не изменился не запускается. Потом прописал более короткую версию представленную в статье, но все равно ничего. В чем может быть проблема? Eclipse работает, переменные JDK прописаны правильно, пути к ним тоже...

    • А из консоли работает? Я думаю всего скорее проблема в том что Win не может найти javaw.

        • javaw находится в папке с jdk, если jdk устанавливал в Program Files, то там он и будет, если в другое место, значит будет в другом месте. Если не знаешь, то попробуй поискать, выполнив в консоли:
          "where javaw.exe" или "where javac.exe"
          или на крайний случай вытяни последнюю версию архивом с оф. сайта и установи в нужное место.