Как создать исполняемую программу Java?

Я запрограммировал Java-программу в JCreator, все сделано, но я хочу создать из нее исполняемый файл, то есть я не хочу запускать программу, загружая классы Java и компилируя, а затем исполняю, но вместо этого это как отдельный исполняемый файл.

Какой самый быстрый способ сделать это?

Ответ 1

Вы можете использовать инструмент jar в комплекте с SDK и создать исполняемую версию программы.

Вот как это делается.

Я отправляю результаты из командной строки, потому что это проще, но то же самое должно применяться при использовании JCreator.

Сначала создайте свою программу:

$cat HelloWorldSwing.java
    package start;

    import javax.swing.*;

    public class HelloWorldSwing {
        public static void main(String[] args) {
            //Create and set up the window.
            JFrame frame = new JFrame("HelloWorldSwing");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            JLabel label = new JLabel("Hello World");
            frame.add(label);

            //Display the window.
            frame.pack();
            frame.setVisible(true);
        }
    }
    class Dummy {
        // just to have another thing to pack in the jar
    }

Очень просто, просто отображает окно с "Hello World"

Затем скомпилируйте его:

$javac -d . HelloWorldSwing.java

В папке "Пуск" Dummy.class и HelloWorldSwing.class были созданы два файла.

$ls start/
Dummy.class     HelloWorldSwing.class

Следующий шаг, создайте файл jar. Каждый файл jar имеет файл манифеста, где атрибуты, относящиеся к исполняемому файлу, являются.

Это содержимое моего файла манифеста.

$cat manifest.mf
Main-class: start.HelloWorldSwing

Просто опишите, что такое основной класс (тот, у кого есть основной метод static void main)

Как только манифест готов, вызывается исполняемый файл jar.

У него много вариантов, здесь я использую -c -m -f (-c для создания jar, -m, чтобы указать файл манифеста, -f = файл должен быть назван..) и папку, которую я хочу к банке.

$jar -cmf manifest.mf hello.jar start

Это создает файл .jar в системе

enter image description here

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

enter image description here

Чтобы создать файл .jar в JCreator, вам просто нужно использовать меню "Инструменты", создать банку, но я не уверен, как туда проходит манифест.

Вот видео, которое я нашел о: Создать файл Jar в Jcreator.

Я думаю, что вы можете перейти к другим ссылкам, опубликованным в этой теме, когда вы знакомы с этим подходом ".jar".

Вы также можете использовать jnlp (Java Network Launcher Protocol).

Ответ 2

Я не совсем понимаю, что вы имеете в виду.

Но я предполагаю, что вы имеете в виду одну из двух вещей.

  • Вы хотите создать исполняемый файл .jar

Eclipse может сделать это очень легко. Файл → экспортировать и создать банку и выбрать соответствующий основной класс, и он будет генерировать .jar для вас. В Windows вам может потребоваться связать jar с java-временем выполнения. aka Hold shift down, Right Нажмите "открыть с", перейдите на свой jvm и свяжите его с javaw.exe

  • создайте фактический .exe файл, тогда вам нужно использовать дополнительную библиотеку, например

http://jsmooth.sourceforge.net/ или http://launch4j.sourceforge.net/ создаст родной .exe-заглушка с красивым значком, который по существу загрузит ваше приложение. Они даже выясняют, есть ли у вашего клиента не установленная JVM и предложили вам ее получить.

Ответ 3

Если вы используете Eclipse, вы можете попробовать выполнить следующие 7 шагов, чтобы получить файл .exe для Windows.

step1step2step3

Теперь у вас есть JAR файл. Используйте java -jar path/jarname.jar для выполнения.

enter image description here


Если вы хотите преобразовать это в .exe, вы можете попробовать http://sourceforge.net/projects/launch4j/files/launch4j-3/

STEP5STEP6

STEP7: Дайте XML файлу соответствующее имя и нажмите "Сохранить". Файл .xml является стандартным, не беспокойтесь об этом. Теперь будет создан ваш исполняемый файл!

Ответ 4

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

Используйте эту команду:

jar -cvf [name of jar file] [name of directory with Java files]

Это создаст каталог META-INF в архиве баннеров. В этом META-INF есть файл под названием MANIFEST.MF, откройте этот файл в текстовом редакторе и добавьте следующую строку:

Main-Class: [fully qualified name of your main class]

то используйте эту команду:

java -jar [name of jar file]

и ваша программа запустится:)

Ответ 5

Взгляните на WinRun4J. Это только окна, но это потому, что у unix есть исполняемые скрипты, которые выглядят (пользователю) как бункеры. Вы также можете легко модифицировать WinRun4J для компиляции в unix.

Для этого требуется файл конфигурации, но опять же, перекомпилируйте его с жестко закодированными параметрами, и он работает как ex-config-less.

Ответ 6

Jexecutable может создавать Windows exe для программ Java. Он вставляет банки в файл exe, и вы можете запускать его как программу Windows.

Ответ 7

Вы можете использовать GCJ для compile ваша программа Java в собственный код.
В какой-то момент они даже скомпилировали Eclipse в родная версия.

Ответ 8

Напишите script и сделайте его исполняемым. script должен выглядеть так, как вы обычно использовали в командной строке:

java YourClass

Предполагается, что вы уже скомпилировали ваши .java файлы и что java может найти ваши .class файлы. Если java не может найти ваши .class файлы, вам может потребоваться использовать параметр -classpath или установить переменную среды CLASSPATH.

Ответ 9

Взгляните на launch4j

Ответ 10

Java Web Start - хорошая технология для установки Java-богатых клиентов из Интернета прямо на рабочий стол конечного пользователя (будь то ОС Windows, Mac или * nix). Он поставляется в комплекте с интеграцией настольных систем и автоматическими обновлениями, среди многих других лакомств.

Для получения дополнительной информации о JWS см. страницу JWS.

Ответ 11

Как и было предложено ранее, вы можете посмотреть на start4j, чтобы создать исполняемый файл для вашего JAR файла. Кроме того, есть что-то, называемое "JExePack", которое может поместить обертку .exe вокруг вашего файла jar, чтобы вы могли перераспределить его (обратите внимание: клиенту в любом случае понадобится JRE для запуска программы на своем ПК) Exes, созданный с помощью GCJ, не будет иметь этой зависимости, но этот процесс немного больше задействован.

Ответ 12

Если вы используете NetBeans, вы просто нажимаете f11, и ваш проект будет создан. Путь по умолчанию - projectfolder\dist