Как создать исполняемый файл Java или исполняемый файл JAR

Как сделать исполняемый файл Java или исполняемый файл JAR

В этом руководстве мы покажем вам, как создать исполняемый файлJAR. Когда вы дважды щелкаете по нему, он запускает определенный основной класс в файле манифеста.

1. Пример AWT

Создайте простое Java-приложение AWT, просто отобразите метку и распечатайте несколько забавных символов ~

AwtExample.java

package com.example.awt;

import java.awt.Frame;
import java.awt.Label;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class AwtExample {

    public static void main(String[] args) {

        Frame f = new Frame();
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        f.add(new Label("This JAR file is executable!"));
        f.setSize(500, 500);
        f.setVisible(true);
    }
}

2. Manifest.txt

Создайте файлmanifest.txt.

Manifest.txt

Main-Class: com.example.awt.AwtExample

ИспользуетMain-Class как точку входа в этот файл Jar, когда вы дважды щелкаете по этому файлу Jar, будет запущен метод main () «AwtExample.class».

Note
Убедитесь, что ваш файл манифеста заканчивается новой строкой, иначе ваш файл манифеста не будет проанализирован и не сможет создатьmanifest.mf. Прочтите этоhttp://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/jar.html

Прочтите этоjar reference guide:
«Be sure that any pre-existing manifest file that you use ends with a new line. The last line of a manifest file will not be parsed if it doesn’t end with a new line character.»

3. Jar файл

Создайте файл Jar, добавив файлы «AwtExample.class» и «manifest.txt» вместе.

Предположим, что папка вашего проекта выглядит следующим образом:

c:\test\classes\com\example\awt\AwtExample.class
c:\test\classes\manifest.txt

Вы можете выполнить следующую команду, чтобы создать «AwtExample.jar.

jar -cvfm AwtExample.jar manifest.txt com/example/awt/*.class

Выход

C:\test\classes>jar -cvfm AwtExample.jar manifest.txt com/example/awt/*.class
added manifest
adding: com/example/awt/AwtExample$1.class(in = 638) (out= 388)(deflated 39%)
adding: com/example/awt/AwtExample.class(in = 880) (out= 541)(deflated 38%)

4. Demo

Теперь «AwtExample.jar» является исполняемым, дважды щелкните по нему, посмотрите результат:

make-jar-executable