Как сделать исполняемый файл JAR? - PullRequest
68 голосов
/ 10 марта 2011

У меня есть программа, которая состоит из двух простых java-файлов.

Как мне создать исполняемый файл jar для моей программы?

Ответы [ 3 ]

75 голосов
/ 10 марта 2011

Файл jar - это просто файл, содержащий коллекцию файлов java. Чтобы сделать исполняемый файл JAR-файла, вам нужно указать, где находится класс main в файле JAR. Пример кода будет выглядеть следующим образом.

public class JarExample {

    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                // your logic here
            }
        });
    }
}

Скомпилируйте ваши классы. Чтобы сделать банку, вам также нужно создать файл манифеста (MANIFEST.MF). Например,

Manifest-Version: 1.0
Main-Class: JarExample

Поместите файлы скомпилированного выходного класса (JarExample.class, JarExample $ 1.class) и файл манифеста в одну папку. В командной строке перейдите в папку, где находятся ваши файлы, и создайте jar с помощью команды jar. Например (если вы назвали свой файл манифеста как jexample.mf)

jar cfm jarexample.jar jexample.mf *.class

Будет создан исполняемый файл jarexample.jar.

35 голосов
/ 23 марта 2013

В Затмение вы можете сделать это просто следующим образом:

Щелкните правой кнопкой мыши по Java-проекту и выберите Экспорт .

Выберите Java -> Запускаемый файл JAR -> Далее.

Выберите Launch Configuration и выберите файл проекта в качестве Основной класс

Выберите папку, в которую вы хотите ее сохранить, и нажмите «Готово».

12 голосов
/ 09 ноября 2017

Вот оно в одной строке:

jar cvfe myjar.jar package.MainClass *.class

где MainClass - это класс с вашим методом main, а package - пакет MainClass.

Обратите внимание, что вы должны скомпилировать файлы .java в файлы .class, прежде чем делать это.

c  create new archive
v  generate verbose output on standard output
f  specify archive file name
e  specify application entry point for stand-alone application bundled into an executable jar file

Этот ответ навеян комментарием Пауэрслэйва к другому ответу.

...