У меня есть файл JAR с именем helloworld.jar. Чтобы запустить его, я выполняю следующую команду в окне командной строки:
java -jar helloworld.jar
Это нормально работает, но как мне выполнить его двойным щелчком? Мне нужно устанавливать какое-либо программное обеспечение?




Вы хотите проверить пару вещей; если это ваш собственный файл jar, убедитесь, что вы определили в манифесте главный класс. Поскольку мы знаем, что вы можете запустить его из командной строки, нужно еще создать ярлык Windows и изменить свойства (вам придется осмотреться, у меня нет компьютера с Windows для просмотра), чтобы команда, которую он выполняет при открытии, - это указанная вами команда java -jar.
Другое: если что-то не перепутали, все равно должно работать; проверьте и убедитесь, что у вас есть java, связанный с расширением .jar.
Самый простой путь, вероятно, - обновить или переустановить Java Runtime Environment (JRE).
Или это:
C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe" -jar "%1" % (Примечание: часть, начинающаяся с 'javaw', должна быть точно такой же; другая часть имени пути может варьироваться в зависимости от того, какую версию Java вы используете. используя), затем нажимайте кнопки OK, пока не закроете все диалоговые окна.Которая была украдена отсюда: http://windowstipoftheday.blogspot.com/2005/10/setting-jar-file-association.html
Я думаю, что самый простой способ - это щелкнуть правой кнопкой мыши любой файл jar> открыть с помощью и выбрать «Среда выполнения Java». :)
при этом мне всегда выдается сообщение об ошибке «Двоичный код платформы Java SE перестал работать» ... Кто-нибудь может помочь, в чем может быть проблема?
@Faizan - Ваша проблема звучит как отдельная проблема. Я вижу несколько результатов SO и Google по запросу «Двоичный код платформы Java SE перестал работать». Я бы проверил их.
в Win 7 нет вкладки Типы файлов в параметрах папки
то же самое с Win 10. Это было перемещено куда-то с той же функциональностью? страница «Приложение по умолчанию по типу файла» системы Windows 10, похоже, не позволяет редактировать команду выполнения, чтобы добавить параметр «jar»
Помимо всех других предложений, вам нужно принять во внимание еще одну вещь. Ваш helloworld.jar - это консольная программа? Если это так, то я не верю, что вы сможете превратить его в файл jar с двойным щелчком. Консольные программы используют обычное окно оболочки cmd.exe для ввода и вывода. Обычно "пусковая установка" jar связана с javaw.exe, который не создает окно командной оболочки.
Интересный побочный эффект этого вызывает проблему при запуске исполняемых файлов jar в командной строке.
Если вы попробуете (в командной строке):
jarfile.jar parameter
Никакой радости, потому что это переводится на следующее (что не работает):
javaw.exe -jar jarfile.jar parameter
Однако следующая команда действительно работает:
java.exe -jar jarfile.jar parameter
Если вы измените ассоциацию в файловом менеджере, как описано выше, на:
"C:\Program Files\Java\j2re1.4.2_04\bin\java.exe" -jar "%1" %*
Затем вы можете ввести:
jarfile.jar parameter
в командной строке, и теперь он будет работать!
Обновлено: (Однако затем вы получаете черное окно консоли при запуске приложения Java на основе формы (не консольного), поэтому это не идеальное решение)
Если вы запустите эти jar-файлы, дважды щелкнув их в окнах, никакие параметры не будут переданы, поэтому ваш Java-код должен обрабатывать исключение переполнения стека и включать в конце функцию «нажать клавишу», иначе окно просто исчезнет.
Чтобы передать параметр в окнах, вам необходимо создать ярлык для файла jar, который включает параметр в целевой строке (щелкните правой кнопкой мыши ярлык и выберите свойства), вы не можете добавлять параметры к самому значку файла jar в этом способ.
Здесь нет единого согласованного решения, но у вас будет такая же проблема с любым другим консольным приложением.
Существует бесплатное приложение для Windows под названием «bat to exe», которое вы можете использовать для создания exe-файла из .bat-файла с соответствующей командной строкой в нем. вы также можете встроить файл jar в exe с помощью этого приложения и очистить его после завершения работы, так что это может быть более элегантным решением.
В Windows Vista или Windows 7 ручной редактор ассоциаций файлов был удален.
Самый простой способ - запустить Джарфикс, крошечный, но мощный бесплатный инструмент. Просто запустите его, и ваши Java-приложения вернутся ... снова двойным щелчком.
Было бы здорово, если бы кто-нибудь где-нибудь мог подробно описать изменения, которые вносит этот исполняемый файл, чтобы кто-то мог повторить его вручную, не вызывая скомпилированный код случайными незнакомцами.
В Windows XP * вам нужно всего 2 команды оболочка:
C:\>ftype myjarfile = "C:\JRE1.6\bin\javaw.exe" -jar "%1" %*
C:\>assoc .jar=myjarfile
очевидно, используя правильный путь для JRE и любое имя вместо myjarfile.
Чтобы просто проверить текущие настройки:
C:\>assoc .jar
C:\>ftype jarfile
на этот раз с использованием значения, возвращенного первой командой, если есть, вместо jarfile.
*не тестировался с Windows 7
Анонимный пользователь протестировал это с Windows 7 (JRE 7). Говорят, работает, если запускать cmd от имени администратора.
Лучшее решение в моих глазах. Работает до Windows 10. Команды ftype и assoc должны запускаться в окнах командной строки с правами администратора.
Если у вас есть файл jar с именем Example.jar, следуйте этим правилам:
notepad.exejava -jar Example.jar.bat.jar..jar.1) Это не сработает на Mac. или Unix. 2) Создает ненужный файл. 3) Лучшие ответы были предоставлены более 2 лет назад. 4) ..И это слово - «ты».
Отличный способ запустить jar в Windows! Он также не скрывает ввод командной строки, поэтому я смог понять, почему мой jar не работает так, как я думал. Спасибо.
Если вам нужно распространить файл .jar и сделать его доступным для работы на компьютерах с Windows других людей, вы можете создать такой простой файл .bat в командной строке:
java -jar MyJavaTool.jar
и поместите файл .bat в тот же каталог, что и ваш файл .jar.
Но как исполняется .bat? Будет ли эта же стратегия заставить приложение Java также открывать сеанс командной строки?
Нет, вы бы просто открыли bat-файл. Я не уверен, что понимаю ваш вопрос.
Я использую Windows 7 x64 и не смог использовать ни одно из этих исправлений.
В конце концов, это сработало для меня:
http://thepanz.netsons.org/post/windows7-jar-file-association-broken-with-nokia-ovi
Есть архив, который вы можете скачать, содержащий файл .bat для запуска, но проверьте путь к фактическому javaw.exe !!!!
Сначала установите путь в cmd (командная строка):
set path = "C:\Program Files\Java\jre6\bin"
затем введите
java -jar yourProgramname.jar
Если вы используете eclipse для создания файлов java, вы можете экспортировать его как исполняемый файл jar. Я сделал это со своими программами, и я могу просто щелкнуть по банке, и она будет работать именно так. Это будет работать в обоих окнах, а также в OS X.
Похоже, что работа не гарантирована, согласно этому вопрос
Есть способ не требовать от пользователя вносить изменения на своем ПК. Runtime.getRuntime.exec () позволяет нам запускать cmd.exe и выполнять внутри него команды. Таким образом, программа Java может запускаться в командной строке, когда пользователь щелкает файл .jar.
public static void main(String[] args) throws IOException {
if (args.length == 0) {
Process p = Runtime.getRuntime().exec("cmd.exe /c start java -jar " + (new File(NameOfClass.class.getProtectionDomain().getCodeSource().getLocation().getPath())).getAbsolutePath() + " cmd");
} else {
//code to be executed
}
}
В regedit откройте HKEY_CLASSES_ROOT\Applications\java.exe\shell\open\command
Дважды щелкните по умолчанию слева и добавьте -jar между путем java.exe и аргументом «%1».
Это было оно. Спасибо. Все остальное не помогло.
Создание start.bat было единственным, что у меня сработало.
откройте текстовый документ и введите. java -jar как бы ты ни называл .jar
сохраните как start.bat в той же папке, что и файл .jar, который вы хотите выполнить. а затем запустите. летучая мышь
К сожалению, это не так просто, поскольку Microsoft удалила расширенный диалог ассоциации файлов в последних выпусках Windows. - В более новых версиях Windows вы можете указать только приложение, которое будет использоваться для открытия файла .jar.
Чтобы исправить открытие файла .jar в Windows, нужно выполнить два шага.
Откройте панель управления и выберите «Программы по умолчанию -> Установить связи». Найдите там расширение .jar (Исполняемый файл JAR) и выберите Java в качестве программы по умолчанию, чтобы открыть это расширение. Вероятно, он будет указан как «Платформа Java (SE)». Более быстрая альтернатива, возможно, - просто щелкнуть правой кнопкой мыши файл .jar, а затем изменить связанную программу, нажав кнопку «Изменить ...».
Теперь откройте regedit и откройте ключ HKEY_CLASSES_ROOT\jarfile\shell\open\command. К счастью для нас, мы можем указать здесь параметры для значения (Default). В моей системе Windows это выглядит так: C:\app\32\jre7\bin\javaw.exe" -jar "%1" %*, но в большинстве случаев это следующая строка: C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
ЗАМЕТКИ:
java.exe, так как он откроет окно оболочки.Другой способ запустить файлы jar одним щелчком / двойным щелчком - добавить "-jar" к
имя файла. Например, вы бы переименовали файл MyJar.jar в -jar MyJar.jar.
Конечно, у вас должны быть файлы .class, связанные с java.exe. Это может работать не во всех случаях, но в большинстве случаев у меня это срабатывало.
Если вам нужно запустить jar-файл, дважды щелкнув по нему, вы должны создать его как «Запускаемый JAR». вы можете сделать это просто с помощью своей IDE.
Если вы используете eclipse, выполните следующие действия:
To create a new runnable JAR file in the workbench:
1.From the menu bar's File menu, select Export.
2.Expand the Java node and select Runnable JAR file. Click Next.
3.In the Opens the Runnable JAR export wizard Runnable JAR File Specification page, select a 'Java Application' launch configuration to use to create a runnable JAR.
4.In the Export destination field, either type or click Browse to select a location for the JAR file.
5.Select an appropriate library handling strategy.
Optionally, you can also create an ANT script to quickly regenerate a previously created runnable JAR file.
дополнительную информацию можно найти на странице справки Eclipse: ССЫЛКА НА САЙТ
У меня была такая же проблема в Windows 10. Я исправил ее с помощью правый щелчок на «helloworld.jar», перешел в характеристики и щелкнул кнопку менять под «Открывается с помощью:» и выбрал «Найдите другое приложение на этом ПК». В диалоговом окне «Открыть с...» перейдите в папку Java на вашем ПК и откройте соответствующую папку jdk, а затем откройте папку мусорное ведро и выберите оттуда «javaw.exe». Тогда в следующий раз ваш "helloworld.jar" откроется обычным способом.
Обычный пример расположения java: «C: \ Program Files (x86) \ Java \ jdk1.8.0_111 \ bin».
Не работает на моем Win10. Также нет Java / JDK, только папки Java / JRE
Есть много методы для запуска файла .jar в Windows. Один из них использует командную строку.
Шаги:
use
.batfile:
Поместите свою команду в файл .bat. здесь ваша команда будет java -jar path\yourJarName.jar.
Something like: java -jar C:\workspace\myApplication.jar
Сохраните его и дважды щелкните файл bat, чтобы запустить jar.
PreScript: Если ваше приглашение появляется и немедленно исчезает, причина в том, что ваша программа запускается и автоматически закрывается. Попробуйте поставить сканер в конце, чтобы завершить работу, и он заставит вашу подсказку ждать ввода перед завершением. (Или, возможно, используйте задержку)
Был в той же ситуации, когда запуск .jar из cmd работал нормально, но двойной щелчок ничего не делал.
Решение: Откройте любой текстовый редактор и напишите командную строку: java -jar Example.jar Сохраните файл как файл .bat. Запустите этот bat-файл, чтобы получить необходимый результат.
Сделав еще один шаг вперед, вы можете преобразовать этот файл bat в файл exe с помощью простого инструмента с графическим интерфейсом, такого как Bat To Exe Converter.
Теперь вы можете поделиться своим .jar как дистрибутивом в .exe-файле, который может использовать кто угодно, просто убедитесь, что вы храните все файлы вместе. (Особенно файлы .jar и .bat, потому что .bat - это только приглашение cmd) (Насколько это логично)
Я новичок в разработке и многому учусь. Пожалуйста, извините за любые ошибки, если они были совершены. Предложения приветствуются.
Шаги:
1.) найдите Java SE Runtime Environment в Google: https://www.google.com/search?q=Java+SE+Runtime+Environment
2.) установите соответствующую версию на свой компьютер
Создайте файл .bat:
start javaw -jar %*
И выберите приложение по умолчанию, чтобы открыть .jar с этим файлом .bat.
Он закроет cmd при запуске файла .jar.
Это единственный правильный ответ для запуска jar-файла по щелчку для java 11. Но вам нужно сделать однажды немного больше: удалите нижние jdks (необязательно), щелкните правой кнопкой мыши файл jar-> открыть с помощью-> выберите другое приложение-> установите флажок «всегда использовать ... »-> приложения на этом компьютере (или таком) -> перейдите к летучей мыши- > запуск
Для компиляции:
javac -cp ".;./mysql-connector-java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart.java
Для бега:
java -cp ".;./mysql-connector-java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart
Собственно, я тоже столкнулся с этой проблемой,
Я обошелся с этим, сделав .bat runner для моего файла jar
вот код:
class FileHandler{
public static File create_CMD_Rnner(){
int exitCode = -1625348952;
try{
File runner = new File(Main.batName);
PrintWriter printer = new PrintWriter(runner);
printer.println("@echo off");
printer.println("title " + Main.applicationTitle);
printer.println("java -jar " + Main.jarName + " " + Main.startCode );
printer.println("PAUSE");
printer.flush();
printer.close();
return runner;
}catch(Exception e){
System.err.println("Coudln't create a runner bat \n exit code: " + exitCode);
System.exit(exitCode);
return null;
}
}
}
Затем в вашем основном классе приложения сделайте следующее:
public class Main{
static String jarName = "application.jar";
static String applicationTitle = "java Application";
static String startCode = "javaIsTheBest";
static String batName = "_.bat";
public static void main(String args[]) throws Exception{
if (args.length == 0 || !args[0].equals(startCode)) {
Desktop.getDesktop().open(FilesHandler.create_CMD_Rnner());
System.exit(0);
}else{
//just in case you wanted to hide the bat
deleteRunner();
// Congratulations now you are running in a cmd window ... do whatever you want
//......
System.out.println("i Am Running in CMD");
//......
Thread.sleep(84600);
}
}
public static void deleteRunner(){
File batRunner = new File(batName);
if (batRunner.exists()) batRunner.delete();
}
}
this code (my code) works only with a jar file, not a class file.
the jar file must have the same name as the String "jarName" is the Main class
Выполните шаги, описанные здесь: Запуск Jar в Vista двойным щелчком