| // |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| // |
| |
| = Создание встроенных пакетов в IDE NetBeans |
| :jbake-type: tutorial |
| :jbake-tags: tutorials |
| :jbake-status: published |
| :icons: font |
| :syntax: true |
| :source-highlighter: pygments |
| :toc: left |
| :toc-title: |
| :description: Создание встроенных пакетов в IDE NetBeans - Apache NetBeans |
| :keywords: Apache NetBeans, Tutorials, Создание встроенных пакетов в IDE NetBeans |
| |
| Авторы: Петр Сомол (Petr Somol) и Алена Сташкова (Alyona Stashkova) |
| |
| Возможность создания встроенных пакетов была впервые реализована в составе JavaFX 2.2 SDK. Эта возможность позволяет создавать _встроенные пакеты_ приложений и выполнять установку и запуск без внешней зависимости от системы JRE или JavaFX SDK. В дальнейшем эта возможность была добавлена в проекты Java SE. |
| |
| Создание встроенных пакетов не меняет модель разработки приложения. Приложение включается в пакет как есть, вместе со средой выполнения Java, и для него создается установщик, соответствующий используемой операционной системе. Смысл заключается в том, чтобы сделать приложение независимым от любых компонентов, которые могут присутствовать или отсутствовать в среде выполнения Java на целевых машинах. Такой установщик можно запустить на машине, где не установлены никакие компоненты Java, и он успешно установит как само приложение, так и необходимые компоненты среды выполнения Java. Размер таких установщиков достаточно велик, так как даже к демонстрационному приложению "Hello world" прилагается целый комплект артефактов среды выполнения Java. |
| |
| В этом практическом руководстве вы узнаете, как создать установщик ``EXE`` приложения Java SE и установщик ``MSI`` приложения JavaFX для операционной системы Windows, используя демонстрационные приложения, поставляемые в комплекте с IDE. |
| |
| *Примечание.* |
| |
| * Создаваемые установщики ``EXE`` и ``MSI`` зависят от платформы и будут работать только в системе, совместимой с целевой платформой Java, для которой созданы установочные пакеты ``EXE`` / ``MSI`` . (Например, если установщик ``EXE`` или ``MSI`` создан на машине, где установлена 64-разрядная версия платформы JDK, его необходимо запускать на машине под управлением 64-разрядной версии Windows.) |
| * В Windows оба приложения установлены в каталог ``C:\Users\<username>\AppData\Local\`` и доступны в меню 'Пуск'. |
| |
| |
| image::images/netbeans-stamp-80-74.png[title="Содержимое на этой странице применимо к IDE NetBeans 7.4 или 8.0"] |
| |
| |
| *Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.* |
| |
| |=== |
| |Программное обеспечение или ресурс |Требуемая версия |
| |
| |link:http://netbeans.org/downloads/index.html[+IDE NetBeans+] |7.4 или 8.0 |
| |
| |link:http://www.oracle.com/technetwork/java/javafx/downloads/index.html[+Комплект для разработчика на языке Java (JDK)+] |7 с обновлением 25 (или более поздняя) или 8 |
| |
| |link:http://www.jrsoftware.org/[+Inno Setup+] |5.5 или более поздняя |
| |
| |link:http://wixtoolset.org/[+WiX+] |3.7 или более поздняя |
| |=== |
| |
| |
| == Установка и добавление необходимых средств в переменную Path |
| |
| Чтобы воспользоваться поддержкой создания встроенных пакетов в IDE, необходимо установить следующие средства: |
| |
| * link:http://www.jrsoftware.org/[+Inno Setup 5.5+] (или более поздняя версия) требуется для создания установщиков EXE в Windows. |
| * link:http://wixtoolset.org/[+WiX 3.7+] (или более поздняя версия) требуется для создания установщиков MSI в Windows. |
| |
| *Примечание.* Список средств, необходимых для создания установщиков для различных платформ, см. в разделе "link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG2508[+Упаковка приложения во встроенный установщик+]" в документе _Разработка приложений в IDE NetBeans_. |
| |
| *Установка Inno Setup:* |
| |
| 1. Загрузите файл ``ispack-5.5.3.exe`` со страницы link:http://www.jrsoftware.org/isdl.php[+Inno Setup Downloads+]. |
| 2. Дважды щелкните файл, чтобы запустить установщик. |
| 3. Примите условия лицензионного соглашения Inno Setup и нажмите 'Далее'. |
| 4. Установите Inno Setup, следуя инструкциям мастера. |
| |
| *Установка WiX:* |
| |
| 1. Загрузите файл ``wix37.exe`` со страницы link:http://wix.codeplex.com/releases/view/99514[+WiX Toolset - Download+]. |
| 2. Дважды щелкните файл, чтобы запустить установщик. |
| 3. Установите WiX, следуя инструкциям мастера. |
| |
| *Добавление Inno Setup и/или WiX в системную переменную Path:* |
| |
| 1. В Windows 7 выберите Пуск > Компьютер > Свойства > Дополнительные параметры системы. |
| 2. Перейдите на вкладку 'Дополнительно' и нажмите кнопку 'Переменные среды'. |
| 3. В области 'Системные переменные' дважды щелкните переменную Path. |
| 4. В открывшемся диалоговом окне 'Изменение системной переменной' добавьте новый путь в поле 'Значение переменной' (после точки с запятой), например: ``C:\Program Files (x86)\Inno Setup 5 `` или ``C:\Program Files (x86)\WiX Toolset v3.6\bin`` . |
| 5. Нажмите ОК, чтобы закрыть все диалоговые окна. |
| |
| *Примечания* |
| |
| * Проверьте, что установленное средство указано в переменной Path. Для этого откройте окно командной строки и введите ``iscc.exe`` для Inno Setup или ``candle.exe`` для WiX. (Если при этом окно командной строки сразу закрывается, попробуйте ввести команду ``cmd.exe /c cmd.exe /k iscc.exe`` или ``cmd.exe /c cmd.exe /k candle.exe`` соответственно.) |
| На рисунке показано окно командной строки с результатом, указывающим на успешное добавление Inno Setup в системную переменную Path. |
| |
| [.feature] |
| -- |
| image::images/cmd_small.png[role="left", link="images/cmd.png"] |
| -- |
| |
| * После добавления всех средств в системную переменную Path обязательно перезапустите IDE. |
| |
| |
| == Создание встроенных пакетов в проектах Java SE |
| |
| Чтобы воспользоваться поддержкой создания встроенных пакетов в IDE, необходимо выполнить следующие действия: |
| |
| * <<createse,Создать проект IDE>> |
| * <<enable,Включить поддержку создания встроенных пакетов для проекта>> |
| * <<buildse,Очистить и собрать проект>> |
| * <<instse,Упаковать приложение в установщик>> |
| |
| |
| === Настройка проекта Java SE |
| |
| Перед упаковкой приложения в установщик необходимо создать само приложение. |
| |
| Создайте новый проект Java SE на основе образца игры Anagram, поставляемого в комплекте с IDE NetBeans. |
| |
| *Для создания проекта IDE выполните следующие действия:* |
| |
| 1. В меню IDE выберите Файл > Создать проект. |
| 2. В мастере создания проектов разверните категорию 'Образцы' и выберите Java. |
| 3. В списке 'Проекты' выберите 'Игра Anagram'. Затем нажмите кнопку "Дальше". |
| |
| [.feature] |
| -- |
| image::images/new_javase_prj_small.png[role="left", link="images/new_javase_prj.png"] |
| -- |
| |
| |
| |
| . На панели 'Имя и местоположение' оставьте без изменения данные в полях 'Имя проекта' и 'Местоположение проекта'. |
| |
| |
| . Нажмите 'Готово'. |
| В IDE создается и открывается проект Java SE. |
| |
| Чтобы проверить работоспособность проекта, запустите его с помощью команды 'Выполнить >Запуск проекта' в главном меню. |
| На компьютере должно запуститься и отобразиться приложение Anagram. |
| |
| image::images/anagrams.png[] |
| |
| |
| === Включение создания встроенных пакетов в IDE |
| |
| По умолчанию команды создания встроенных пакетов в IDE отключены. |
| |
| Щелкните правой кнопкой мыши проект AnagramGame в окне 'Проекты' и проверьте, доступны ли для этого проекта Java SE какие-либо действия. Как видите, контекстное меню проекта не содержит команд создания пакетов. |
| |
| image::images/context_wo_pkg.png[] |
| |
| *Включение создания встроенных пакетов для проекта:* |
| |
| 1. В окне 'Проекты' щелкните правой кнопкой мыши узел проекта и выберите 'Свойства' в контекстном меню. |
| 2. В диалоговом окне 'Свойства проекта' выберите категорию 'Развертывание', затем выберите параметр 'Включить команды создания встроенных пакетов в меню проекта'. |
| |
| [.feature] |
| -- |
| image::images/enable_native_pkg_small.png[role="left", link="images/enable_native_pkg.png"] |
| -- |
| |
| |
| |
| . Нажмите ОК. |
| В контекстном меню проекта появится команда 'Упаковать'. |
| |
| image::images/pkg_enabled.png[] |
| |
| |
| === Сборка приложения |
| |
| Теперь нужно очистить и собрать приложение для развертывания. |
| |
| *Очистка и сборка проекта:* |
| |
| * Выберите 'Выполнить > Очистить и собрать проект' в главном меню. |
| Результаты выполнения команды отображаются в окне 'Результаты'. |
| |
| [.feature] |
| -- |
| image::images/output_small.png[role="left", link="images/output.png"] |
| -- |
| |
| В каталоге проекта создается папка ``dist`` с файлом ``jar`` . |
| |
| |
| === Создание установщика ``EXE`` |
| |
| Теперь можно упаковать приложение в установщик для Windows. |
| |
| *Сборка установщика ``EXE`` :* |
| |
| * Щелкните проект AnagramGame правой кнопкой мыши и выберите 'Упаковать в... > Установщик EXE' в контекстном меню. |
| |
| *Примечание.* IDE создает установщик ``EXE`` , только если средства Inno Setup <<tool,установлены на компьютере и добавлены в системную переменную Path>>. |
| |
| IDE отображает ход выполнения и результат процесса упаковки в окне 'Результаты'. |
| |
| [.feature] |
| -- |
| image::images/output_se_exe_small.png[role="left", link="images/output_se_exe.png"] |
| -- |
| |
| *Примечание.* При отображении хода выполнения IDE изображение на экране может некоторое время не меняться - именно в этот момент в фоновом режиме работает Inno Setup. Процесс упаковки займет некоторое время. |
| |
| Готовый установщик ``EXE`` помещается в каталог ``AnagramGame/dist/bundles/`` . |
| |
| image::images/anagram_exe.png[] |
| |
| |
| == Создание независимых пакетов приложений в проектах JavaFX |
| |
| Чтобы собрать готовое к установке приложение JavaFX, используя поддержку создания встроенных пакетов в IDE, необходимо выполнить следующие действия. |
| |
| * <<createfx,Создать новый проект JavaFX в IDE>> |
| * <<enablefx,Включить поддержку создания встроенных пакетов для проекта>> |
| * <<buildfx,Очистить и собрать приложение JavaFX>> |
| * <<instfx,Собрать готовое к установке приложение JavaFX>> |
| |
| |
| === Создание проекта JavaFX |
| |
| Сначала необходимо создать проект JavaFX на основе образца BrickBreaker, поставляемого в комплекте с IDE. |
| |
| *Создание проекта JavaFX в IDE:* |
| |
| 1. В меню IDE выберите 'Файл > Создать проект'. |
| 2. В мастере создания проектов разверните категорию 'Образцы' и выберите JavaFX. |
| 3. В списке 'Проекты' выберите BrickBreaker. Затем нажмите кнопку "Дальше". |
| 4. На панели 'Имя и местоположение' оставьте без изменения данные в полях 'Имя проекта' и 'Местоположение проекта' и 'Платформа JavaFX'. |
| |
| [.feature] |
| -- |
| image::images/new_javafx_prj_small.png[role="left", link="images/new_javafx_prj.png"] |
| -- |
| |
| |
| |
| . Нажмите 'Готово'. |
| Проект JavaFX BrickBreaker отображается в IDE в окне 'Проекты'. |
| |
| Чтобы проверить работоспособность проекта, запустите его с помощью команды 'Выполнить >Запуск проекта (BrickBreaker)' в главном меню. |
| На компьютере должно запуститься и отобразиться приложение Brick Breaker. |
| |
| [.feature] |
| -- |
| image::images/brickbreaker_small.png[role="left", link="images/brickbreaker.png"] |
| -- |
| |
| |
| === Включение создания встроенных пакетов для проекта |
| |
| Чтобы воспользоваться поддержкой создания встроенных пакетов для проекта в IDE, необходимо сначала включить эту поддержку. |
| |
| Если щелкнуть проект Brick Breaker правой кнопкой мыши, в контекстном меню не будет команд создания встроенных пакетов. |
| |
| image::images/javafx_wo_pkg.png[] |
| |
| *Включение команд создания встроенных пакетов для проекта в контекстном меню:* |
| |
| 1. В окне 'Проекты' щелкните правой кнопкой мыши узел проекта и выберите 'Свойства' в контекстном меню. |
| 2. В диалоговом окне 'Свойства проекта' в категории 'Сборка' выберите 'Развертывание', затем выберите параметр 'Включить создание встроенных пакетов'. |
| |
| [.feature] |
| -- |
| image::images/enable_native_pkg_fx_small.png[role="left", link="images/enable_native_pkg_fx.png"] |
| -- |
| |
| |
| |
| . Нажмите ОК. |
| В контекстном меню проекта появится пункт 'Упаковать'. |
| |
| image::images/pkg_fx_enabled.png[] |
| |
| |
| === Сборка приложения |
| |
| Приложение JavaFX готово к очистке и сборке. |
| |
| *Очистка и сборка проекта:* |
| |
| * Выберите 'Выполнить > Очистить и собрать проект' в главном меню. |
| Результаты выполнения команды отображаются в окне 'Результаты'. |
| |
| *Примечание.* Если сборка выполнена успешно, но в окне 'Результаты' отображается ``предупреждение: [options] путь класса bootstrap не задан в связи с -source 1.6`` , необходимо указать JDK 8 в качестве исходного/двоичного формата в свойствах проекта и выполнить повторную очистку и сборку: |
| |
| 1. Щелкните проект BrickBreaker правой кнопкой мыши в окне 'Проекты' и выберите 'Свойства'. |
| 2. В диалоговом окне 'Свойства проекта' выберите категорию 'Источники'. |
| 3. В списке 'Исходный/двоичный формат' выберите JDK 8 и нажмите ОК. |
| 4. Щелкните проект BrickBreaker правой кнопкой мыши в окне 'Проекты' и выберите 'Очистить и собрать' в контекстном меню. |
| |
| |
| === Создание установщика ``MSI`` |
| |
| Теперь можно упаковать приложение в установочный пакет для определенной операционной системы Windows. |
| |
| *Сборка установщика ``MSI`` :* |
| |
| * Щелкните проект BrickBreaker правой кнопкой мыши и выберите 'Упаковать в... > Установщик MSI' в контекстном меню. |
| |
| *Примечание.* IDE создает установщик ``MSI`` , только если средства WiX <<tool,установлены на компьютере и добавлены в системную переменную Path>>. |
| |
| IDE отображает ход выполнения и результат процесса упаковки в окне 'Результаты'. |
| |
| [.feature] |
| -- |
| image::images/output_fx_msi_small.png[role="left", link="images/output_fx_msi.png"] |
| -- |
| |
| *Примечание.* При отображении хода выполнения IDE изображение на экране может некоторое время не меняться - именно в этот момент в фоновом режиме работает WiX. Процесс упаковки займет некоторое время. |
| |
| Готовое к установке приложение JavaFX помещается в каталог ``BrickBreaker/dist/bundles/`` . |
| |
| image::images/brickbreaker_msi.png[] |
| |
| |
| == [[Проверка готовых к установке приложений]] |
| |
| После создания установщиков ``AnagramGame-1.0.exe`` и ``BrickBreaker-1.0.msi`` необходимо проверить, в какой каталог установлены приложения Anagram и BrickBreaker в родной системе. |
| |
| *Проверка установщиков:* |
| |
| 1. Перейдите в каталог с файлом установщика ( ``AnagramGame-1.0.exe`` или ``BrickBreaker-1.0.msi`` ) на жестком диске. |
| 2. Дважды щелкните файл, чтобы запустить установщик. |
| |
| Оба приложения должны установиться в каталог ``C:\Users\<username>\AppData\Local\`` и появиться в меню 'Пуск'. |
| |
| |
| == См. также |
| |
| * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG2508[+Упаковка приложения как встроенного установщика+] в документе _Разработка приложений в IDE NetBeans_ |
| * link:http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm[+Развертывание приложений JavaFX. Создание независимых пакетов приложений+] |
| * link:http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html[+Упаковка приложений Java для распространения на Mac+] |
| link:/about/contact_form.html?to=3&subject=Feedback:%20Native%20Packaging%20In%20NetBeans%20IDE[+Отправить отзыв по этому учебному курсу+] |
| |
| |
| link:../../trails/matisse.html[+Возврат к учебной карте+] |
| |