Запуск файла .jar без графического интерфейса

1

Я сделал эту небольшую программу для проекта, над которым я работаю, и он работает так, как должен, когда я запускаю из Eclipse. То, что я хотел бы сделать, это иметь.jar файл, который я могу дважды щелкнуть, и запустить его в моей консоли. Я alredy экспортируется как JAR и runnable JAR в меню "Экспорт", и оба раза он запускает процесс Java в диспетчере задач, он использует как процессор, так и память, но на моем экране ничего не отображается. Я попробовал компиляцию с помощью командной строки, и это то же самое. Итак, мой вопрос: могу ли я иметь отдельное Java-приложение без GUI? Потому что кажется, что моя проблема: я последовал за учебником, чтобы сделать программу с одним, и это сработало отлично.

Я использую 64-разрядную версию Windows 8 (у меня должно быть какое-то другое программное обеспечение, которое я должен использовать в своем проекте). Я новичок в этой Java buissness, поэтому, если вы можете, пожалуйста, сохраните его как можно проще; Я бы очень признателен. Заранее спасибо.

import java.util.Scanner;
public class Distancia {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int check = 1;
    System.out.println("Kilómetros a Millas Náuticas\n");
    do {
        int cm = 0;
        int salida = 0;
        while (salida != 1){
        try {
            System.out.println("Escriba la distancia en kilómetros:");
            cm = sc.nextInt();
            salida = 1;
        } catch (Exception e) {
            System.out.println("Opción Inválida");
            sc = new Scanner(System.in);
            sc.reset();
        }
        } //Fin del While
    //Conversiones de distancias
    int km = cm*50;     // Conversión de Centimetros-mapa a Kilómetros
    double mn = km/(1.8);   // Conversión a Millas Náuticas
    //Cálculos de Velocidades
    System.out.println("Distancia en kilómetros: "+km+" km.");
    System.out.println("Distancia en millas náuticas: "+mn+" MN.\n");
    if (mn/5<24)
        System.out.println("Tiempo a 05 nudos: "+mn/5+" horas.");
    else{
        System.out.println("Tiempo a 05 nudos: "+mn/5+" horas.");
        System.out.println("Tiempo a 05 nudos: "+(mn/5)/24+" días.");
        System.out.println();
    }
    if (mn/8<24)
        System.out.println("Tiempo a 08 nudos: "+mn/8+" horas.");
    else{
        System.out.println("Tiempo a 08 nudos: "+mn/8+" horas.");
        System.out.println("Tiempo a 08 nudos: "+(mn/8)/24+" días.");
        System.out.println();
    }
    if (mn/12<24){
        System.out.println("Tiempo a 12 nudos: "+mn/12+" horas.");
        System.out.println();
    }
    else{
        System.out.println("Tiempo a 12 nudos: "+mn/12+" horas.");
        System.out.println("Tiempo a 12 nudos: "+(mn/12)/24+" días.");
        System.out.println();
    }
    }
    while (check !=0);
    sc.close();
    }
}
  • 2
    Можете ли вы запустить его из командной строки? введите java -jar myjar.jar
  • 0
    возможный дубликат файла Running Jar в Windows
Показать ещё 1 комментарий
Теги:

3 ответа

0
Лучший ответ

Способ, которым окна обрабатывают двойной щелчок на файле jar, - это запуск javaw который предназначен для запуска программы GUI Java без отображения окна консоли. Когда я дважды нажимаю консольное приложение Java, в окне консоли я вижу нечто подобное:

javaw -jar "C:\JavaPrograms\SampleConsoleApp\dist\DistanceCalc.jar"

Ничего другого не отображается, потому что javaw предназначен для запуска окна GUI, но его нет.

Если вы хотите создать консольное приложение, которое запускается с двойным щелчком, создайте текстовый файл с именем launcher.bat и поместите команду запуска в этот пакетный файл:

java -jar "C:\JavaPrograms\SampleConsoleApp\dist\DistanceCalc.jar"

Netbeans фактически генерирует эту командную строку для вас, когда вы запускаете свою программу из среды IDE, отображая что-то вроде этого в окне вывода:

To run this application from the command line without Ant, try:
java -jar "F:\JavaPrograms\IndexMaker\dist\IndexMaker.jar"
  • 0
    Это то, что я закончил: создание файла bat и запуск его вместе с ним. Тем не менее, немного раздражает невозможность просто запустить мою программу (я хотел подарить ее другу, так что теперь мне нужно исправить файл bat), но это все же сработало. Спасибо большое.
0
  1. Открыть любой текстовый редактор
  2. напишите две строки:

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

  4. Запустите его с двойным щелчком мыши из графического интерфейса Windows

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

0

Конечно вы можете.
Все, что вам нужно сделать, это запустить его на виртуальной машине Java.
Что

java -jar "\path\to\YOUR_JAR_NAME.jar" 

Однако запуск с помощью двойного щелчка не работает.
Но если вы используете С# вместо Java, он генерирует прекрасный.exe, который можно запустить двойным щелчком.

Или, если вы настаиваете на использовании Java, вы можете использовать Launch4j:
http://launch4j.sourceforge.net/

Если проблема в том, что она ожидает графический интерфейс, вы можете выполнить вызов AttachConsole WinAPI, чтобы отобразить окно командной строки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню