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

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

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

3 ответа

Решение

Файл 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.

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

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

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

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

Выберите папку "Destination", в которой вы хотите ее сохранить, и нажмите "Finish".

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

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

Этот ответ вдохновлен комментарием Powerslave к другому ответу.

Если вы используете maven, добавьте в файл pom.xml следующее:

<plugin>
    <!-- Build an executable JAR -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <archive>
            <manifest>
                <mainClass>com.path.to.YourMainClass</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

Тогда ты можешь бежать mvn package. Файл jar будет расположен в целевом каталоге.

Слишком поздно отвечать на этот вопрос. Но если кто-то сейчас ищет этот ответ, я заставил его работать без ошибок.

Прежде всего, обязательно загрузите и добавьте maven в путь. [mvn --version ] предоставит вам спецификации версии, если вы правильно добавили путь.

Теперь добавьте следующий код в проект maven [pom.xml], в следующем коде замените точкой входа в ваш собственный основной файл, например, [ com.example.test.Test ].

      <plugin>
            <!-- Build an executable JAR -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <archive>
                    <manifest>
                    <mainClass>
            your_package_to_class_that_contains_main_file .MainFileName</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>

Теперь перейдите в командную строку [CMD] в своем проекте и введите mvn package и он сгенерирует файл jar как что-то вроде ProjectName-0.0.1-SNAPSHOT.jar под target каталог.

Теперь перейдите в целевой каталог, cd target.

Наконец введите java -jar jar-file-name.jar и да, это должно работать успешно, если в вашей программе нет ошибок.

Другие вопросы по тегам