Как сделать исполняемый файл 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
» является исполняемым, дважды щелкните по нему, посмотрите результат: