2013-05-14 1 views
5

Начну из говоря Im на окнах 7.Запуск .jar файла в командной строке с двойного щелчком

Я создал .jar файл, который выполняет отлично из командной строки с помощью - Java - jar myJar.jar подход

Но я должен удваивать клик на файле jar и открывать окно командной строки и запускаться в командной строке, как если бы я только что набрал java -jar myJar.jar line.

Когда я дважды щелкаю файл jar, я действительно думаю, что он запущен, потому что появляется видимая часть java, но нет окна командной строки, показывающего мой вывод консоли.

Осмотревшись, я встретил людей, говорящих, что javaw, с которыми связаны файлы jar, не имеет консоли и что мне нужно связать файлы jar с java.exe вместо javaw.exe. Я пробовал это, и он, похоже, не работал.

Может ли кто-нибудь помочь? Шаг за шагом было бы неплохо.

+0

Я думаю, что люди Microsoft пытаются сообщите, как решить вашу проблему, перейдите по этой ссылке: http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/since-updating-to-windows-7-i-am-unable-to -run-any/b4b2c2fb-8634-4d26-bf76-a27cb7e6cbff Надеюсь, что это поможет! –

ответ

2

Это ИМХО не представляется возможным. Вы могли бы open the console из самого приложения, но это зависит от ОС. Если вам нужно открыть консоль, вы должны запустить приложение из него, как вы уже делали.

0

.. но нет окна командной строки, показывающего мой вывод на консоль.

Нет никакой консоли для исполняемого Jar. Вам нужно будет вывести этот вывод в графический интерфейс.

+0

Итак, нет никакого способа, чтобы я мог получить файл jar для открытия в окне командной строки из двойного щелчка? – Nexus490

+0

Если вы измените * «открыть в окне командной строки» * на * «открыть с соответствующим окном командной строки для вывода», то ответ будет «нет». Я не буду пытаться ответить на вопрос, как вы выразились мне, потому что я не могу понять это. –

+0

Ну, вы ответили на мой вопрос, хотите ли вы или нет; Спасибо. – Nexus490

1

Если вы хотите отобразить командную строку, вы должны запустить свою банку с помощью командной строки.

ява -jar myJar.jar

1

Я хотел бы сделать что-то вроде этого:

(Испытано в Widows XP с JRE 1.6, для поддержки других операционных систем вы должны проверить путь для каждой операционной системы и выбрать подходящий эмулятор консоли (xterm, gnome-terminal ... (проверить и предпочтения существования ...)))

public static void main(String[] args) throws Exception { 
    if (args.length == 0) { 
     String path = Main.class.getProtectionDomain().getCodeSource().getLocation().getPath().substring(1);//Adds extra slash (??) didn't know why 
     String decodedPath = URLDecoder.decode(path, "UTF-8"); 
     System.out.println(decodedPath); 
     Runtime.getRuntime().exec("cmd /c start java -jar \"" + decodedPath + "\" actual_run"); 
    } 
    else { 
     System.out.println("Hello World"); 
     JOptionPane.showMessageDialog(null, "Hello World"); 
     System.in.read(); 
    } 
} 
1

в качестве альтернативы я предлагаю создать летучей мыши файл с таким содержанием:

java -jar yourjar.jar 

Это запустит вашу банку, а также автоматически откроет командную строку, все из простого двойного щелчка на файле bat. (Файл bat должен находиться в той же папке, что и ваш файл jar, иначе вам нужно указать путь к банке, а не только имя jar)

7

У меня был тот же вопрос, и идея bat bat была гениальной и сэкономил мне много времени на переписывание кода. Спасибо! (Я бы поддержал, но, видимо, мне не хватает репутации.)

Файлы партии (или летучих мышей) очень просты в изготовлении.

Просто поместите java -jar YourFile.jar в блокнот (если вы на окнах), сохраните как Title.bat и поместите в ту же папку, что и ваша банка.

presto! программа, открытая для широкой общественности.

+1

Это на самом деле лучшее решение – Devid

+1

Да, но вы должны иметь оба файла, чем, что является ошибкой, если я должен был перемещать файл jar в моей файловой системе – IchHabsDrauf

0

Проверьте ваш MANIFEST.MF

  1. Извлечения "исполняемый" .jar файл в папку
  2. найти MANIFEST.MF в папке META-INF
  3. проверить наличие этого поля: Main-Class : YourMainClassHere

Если это поле, то исчезли открыть исходный MANIFEST.txt для этой точки: Main-Class: YourMainClassHere должен заканчиваться новой строки или возврата каретки

Warning: The text file must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return.

1

Это самое простое решение для начинающих:

  1. Откройте любой текстовый редактор
  2. пишут эти две строчки:

    java "yourmainclassname" 
        pause 
    
  3. Сохраните этот файл как "имя" .bat

  4. Выполнить его двойным щелчком из окна GUI

(это, конечно, новый созданный .bat файл должен находиться в той же папке, что и .class)

 Смежные вопросы

  • Нет связанных вопросов^_^