Запуск файла JAR в Windows

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

java -jar helloworld.jar

Это отлично работает, но как его выполнить с двойным щелчком? Нужно ли устанавливать какое-либо программное обеспечение?

Ответ 1

Самый простой маршрут - это, вероятно, обновление или повторная установка Java Runtime Environment (JRE).

Или это:

  • Откройте проводник Windows, в меню "Инструменты" выберите "Параметры папки..."
  • Перейдите на вкладку Типы файлов, прокрутите вниз и выберите тип файла JAR.
  • Нажмите кнопку "Дополнительно".
  • В диалоговом окне "Редактировать тип файла" выберите "Открыть" в "Действия" и нажмите "Изменить"...
  • Нажмите кнопку "Обзор" и перейдите к расположению Java-интерпретатора javaw.exe.
  • В приложении, используемом для выполнения поля действия, необходимо отобразить что-то похожее на 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

Ответ 2

В Windows Vista или Windows 7 был удален редактор ассоциаций файлов вручную.

Самый простой способ - запустить Jarfix, крошечный, но мощный бесплатный инструмент. Просто запустите его, и ваши приложения Java вернутся... снова дважды нажмите.

Ответ 3

Если вам нужно распространять ваш .jar файл и сделать его доступным для других компьютеров Windows, вы можете сделать простой .bat файл, как это, в командной строке:

java -jar MyJavaTool.jar

и поместите файл .bat в тот же каталог, что и ваш .jar файл.

Ответ 4

Если у вас есть файл jar с именем Example.jar, выполните следующие правила:

  • Откройте notepad.exe
  • Пишите: java -jar Example.jar
  • Сохраните его с расширением .bat
  • Скопируйте его в каталог с файлом .jar
  • Дважды щелкните его, чтобы запустить файл .jar

Ответ 5

Интересный побочный эффект этого вызывает проблему при запуске запускаемых 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-код должен обрабатывать исключение и включать функцию "нажать клавишу" в конце, или окно просто исчезнет.

Чтобы передать параметр в windows, вы должны создать ярлык для файла JAR, который включает в себя параметр в целевой строке (щелкните правой кнопкой мыши по ярлыку и выберите свойства), вы не можете добавлять параметры к самому значку файла JAR в этом путь.

Здесь нет единого согласованного решения, но у вас будет такая же проблема с любым другим консольным приложением.

Существует бесплатное приложение для Windows под названием "bat to exe", которое можно использовать для создания exe файла из .bat файла с соответствующей командной строкой в нем. Вы также можете вставить jar файл в исполняемый файл с этим приложением и заставить его очистить его после завершения работы, так что это может быть более элегантным решением.

Ответ 6

Первый заданный путь в cmd (командная строка):

set path="C:\Program Files\Java\jre6\bin"

тогда введите

java -jar yourProgramname.jar 

Ответ 7

В Windows XP * вам нужно всего две команды оболочки:

   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

Ответ 8

Существует способ, не требующий от пользователя изменений на своем ПК. 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
    }
}

Ответ 9

Помимо всех других предложений, есть еще одна вещь, которую вам нужно рассмотреть. Ваша консольная программа helloworld.jar? Если это так, то я не верю, что вы сможете превратить его в двойной файл jar. Консольные программы используют регулярное окно оболочки cmd.exe для их ввода и вывода. Обычно jar "launcher" привязан к javaw.exe, который не создает окно командной оболочки.

Ответ 10

Я запускаю Windows 7 x64 и не смог использовать ни одно из этих исправлений.

Это помогло мне после всего:

http://thepanz.netsons.org/post/windows7-jar-file-association-broken-with-nokia-ovi

Существует архив, который вы можете скачать, содержащий файл .bat для запуска, но проверьте путь к фактическому javaw.exe!!!!

Ответ 11

Вы хотите проверить пару вещей; если это ваш собственный файл jar, убедитесь, что вы определили Main-класс в манифесте. Поскольку мы знаем, что вы можете запустить его из командной строки, нужно сделать так, чтобы создать ярлык Windows и изменить свойства (вам придется осмотреться, у меня нет машины Windows, на которую вы смотрите), так что команда, которую он выполняет при открытии, - это команда java -jar, о которой вы упомянули.

Другое дело: если что-то не смущает, оно должно работать в любом случае; проверьте и убедитесь, что у вас есть java, связанная с расширением .jar.

Ответ 12

В regedit откройте HKEY_CLASSES_ROOT\Applications\java.exe\shell\open\command

Дважды щелкните по умолчанию слева и добавьте -jar между контуром java.exe и аргументом <<22 > .

Ответ 13

К сожалению, это не так просто, как Microsoft удалила расширенный диалог ассоциации файлов в последних выпусках Windows. - С более новыми версиями Windows вы можете указать только приложение, которое будет использоваться для открытия файла .jar.

Для открытия файла .jar в Windows требуется два шага.

  • Откройте панель управления и выберите "Программы по умолчанию → Установить ассоциации". Найдите там расширение .jar(исполняемый файл JAR) и выберите Java в качестве программы по умолчанию, чтобы открыть это расширение. Вероятно, он будет указан как "Java Platform (SE)". Более быстрая альтернатива, возможно, проста, щелкните правой кнопкой мыши на файле .jar и затем измените соответствующую программу, нажав кнопку "Изменить...".

  • Теперь откройте regedit и откройте клавишу HKEY_CLASSES_ROOT\jarfile\shell\open\command. Luckilly для нас, мы можем указать там параметры для значения (Default). В моей системе Windows это выглядит так: C:\app\32\jre7\bin\javaw.exe" -jar "%1" %*, но в большинстве случаев это следующая строка: C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*

ПРИМЕЧАНИЯ:

  • Не используйте java.exe там, так как он откроет окно оболочки.
  • Средство jarfix, упомянутое в этом потоке, скорее всего, не более чем изменение реестра для вас. Я предпочитаю ручной метод изменения реестра, так как это означает, что системный администратор может "нажать" изменение реестра на все рабочие станции в сети.

Ответ 14

Другой способ запуска jar файлов с помощью щелчка/двойного щелчка состоит в том, чтобы добавить "-jar" к имя файла. Например, вы переименовали бы файл MyJar.jar в -jar MyJar.jar.

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

Ответ 15

У меня была такая же проблема в Windows 10. Я исправил ее с помощью righ-click на helloworld.jar "и перейдите в свойства и нажмите кнопку изменить в разделе" Открывает с: "и выберите" Найти другое приложение на этом ПК ". В диалоговом окне" Открыть с... "перейдите в папку вашей папки Java на своем ПК и откройте соответствующую папку jdk, а затем откройте папку bin и выберите" javaw.exe "оттуда. Затем в следующий раз ваш" helloworld.jar" откроется обычным способом.

Пример использования Java: " C:\Program Files (x86)\Java\jdk1.8.0_111\bin".

Ответ 16

PreScript: если ваша подсказка появляется и сразу исчезает, причина этого в том, что ваша программа запускается и автоматически закрывается. Попробуйте положить сканер в конце, чтобы завершить, и он будет заставлять ваш запрос ждать ввода перед завершением. (Или используйте задержку, может быть)

Был в той же ситуации, когда запуск .jar из cmd работал нормально, но двойной щелчок ничего не делал.

Решение: Откройте любой текстовый редактор и напишите командную строку: java -jar Example.jar Сохраните файл как файл .bat. Запустите этот bat файл, чтобы получить необходимый вывод.

Сделав шаг вперед, вы можете конвертировать этот bat файл в exe файл, используя простой графический инструмент, такой как Bat To Exe Converter.

Теперь вы можете поделиться своим .jar как дистрибутивом в файле .exe, который может использовать каждый, просто убедитесь, что вы храните все файлы вместе. (Особенно .jar и .bat причина файла .bat - только приглашение cmd) (Как это выглядит логично)

Я новичок в разработке и многому учусь. Пожалуйста, извините за любые ошибки, если они совершены. Предложения приветствуются.

Ответ 17

Если вы используете eclipse для создания ваших java файлов, вы можете экспортировать его как исполняемый файл jar. Я сделал это с моими программами, и я могу просто нажать на банку, и она будет работать именно так. Это будет работать как на окнах, так и на os x.

Ответ 18

Создание start.bat было единственным, что сработало для меня.

откройте текстовый документ и введите. java -jar независимо от вашего имени.jar

сохранить как start.bat в той же папке, что и файл .jar, который вы хотите выполнить. а затем запустите. летучей мыши

Ответ 19

Если вам нужно запустить файл jar, дважды щелкнув по нему, вы должны создать его как " Runnable JAR". вы можете сделать это просто со своей IDE.

Если вы используете eclipse, выполните следующие действия:

    To create a new runnable JAR file in the workbench:

1.From the menu bar 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: ССЫЛКА

Ответ 20

Существует много методов для запуска .jar файла в окнах. Один из них использует командную строку.

Шаги:

  • Откройте командную строку (Запуск от имени администратора)
  • Теперь напишите команду "cd \" для корневого каталога
  • Введите "java jar filename.jar" Примечание. Вы также можете использовать любые сторонние приложения, такие как WinRAR, jarfix и т.д.

Ответ 22

Создать .bat файл:

start javaw -jar %*

И выберите приложение по умолчанию, чтобы открыть .jar с этим файлом .bat.

Он закроет cmd при запуске вашего файла .jar.

Ответ 23

Для составления:

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

Ответ 24

На самом деле, я тоже столкнулся с этой проблемой, Я справился с этим, сделав .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();
    }
}


Обратите внимание, что

  1. этот код (мой код) работает только с файлом jar, а не с файлом класса.

  2. файл jar должен иметь то же имя, что и строка. "jarName" - это основной класс.

Ответ 25

Create a .bat file:

И вставь свою команду в это. здесь ваша команда будет java -jar path\yourJarName.jar.

Сохраните его и дважды щелкните по файлу bat, чтобы запустить флягу. Ваше имя файла будет таким fileName.bat