Одной из новых функций NetBeans 7.4, которая сделала страницу « NetBeans 74 NewAndNoteworthy », является « Собственная упаковка », которая описана на этой странице как «Проекты JavaSE теперь поддерживают создание собственных пакетов с использованием собственной технологии упаковки, предоставляемой JavaFX . »
Я буду использовать очень простой пример, чтобы продемонстрировать эту встроенную функциональность упаковки в NetBeans 7.4. Следующий листинг кода для этого расширенного примера Hello World.
EnhancedHelloWorld.java
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package dustin.examples;import static java.lang.System.out;/** * Slightly enhanced "Hello World" example. * * @author Dustin */public class EnhancedHelloWorld{ /** * Main function. * * @param args the command line arguments; name being addressed, if any. */ public static void main(String[] args) { final String addresseeName = args.length > 0 ? args[0] : "World"; out.println("Hello, " + addresseeName); }} |
На следующем изображении этот же код показан в редакторе исходного кода NetBeans 7.4.
Чтобы использовать функцию «Собственная упаковка», я могу щелкнуть правой кнопкой мыши проект и выбрать «Свойства», как показано на следующем рисунке.
Нажатие на «Свойства» приводит к появлению окна «Свойства проекта». Это окно, как показано на следующем снимке экрана, позволяет разработчику развернуть «Сборку», выбрать «Развертывание» и установить флажок рядом с надписью «Включить собственные действия по упаковке в меню проекта». Выбор этого параметра настраивает NetBeans 7.4 для поддержки собственной упаковки для этого проекта NetBeans.
С включенной встроенной упаковкой NetBeans 7.4 теперь я могу щелкнуть правой кнопкой мыши по проекту и получить новую опцию «Пакет как». Когда я выбираю этот параметр «Пакет как», я вижу следующие варианты: «Все артефакты», «Все установщики», «Только образ», «Установщик EXE» и «Установщик MSI». Обратите внимание, что моя среда IDE NetBeans 7.4 работает на компьютере с Windows, поэтому установщики EXE и MSI имеют смысл. Разделы 6.4.1 и 6.4.2 документа « Развертывание приложений JavaFX» охватывают пакеты установки EXE и MSI соответственно.
Когда я выбираю EXE в качестве пакета установщика, я вижу, что он обрабатывает собственную упаковку в соответствии с сообщением в правом нижнем углу IDE. Это показано на следующем снимке экрана.
В первый раз, когда я попробовал это, я столкнулся с ошибкой, о которой сообщает NetBeans, с сообщением: «Для собственного установщика JavaFX требуются внешние инструменты Inno Setup 5+, установленные и включенные в PATH для создания установщика EXE. Смотрите http://www.jrsoftware.org/ ». Переход на упомянутый сайт Jordan Russell Software позволяет мне загрузить Inno Setup 5.5.4 (isetup-5.5.4.exe). В моем случае я скачал самораспаковывающийся EXE и запустил его. Затем я добавил полный путь к каталогу, в который была установлена Inno Setup 5.5.4, к моей PATH среды PATH и перезапустил NetBeans 7.4.
Когда в моей системе установлена программа Inno Setup, компилятор установщика Inno Setup 5.5.4 запускается при выборе собственной упаковки NetBeans для EXE. После завершения установки NetBeans и Inno в каталоге проекта появится относительно большой EXE-файл, как показано на следующем снимке экрана.
Конечно, я могу запустить этот исполняемый файл, просто набрав его имя в командной строке. Следующий снимок экрана демонстрирует, что запуск этого исполняемого файла приводит к появлению всплывающего окна, запрашивающего утверждение для установки приложения Java.
При нажатии кнопки «Установить» начинается установка, и это демонстрируется на следующем снимке экрана.
Исполняемый установщик устанавливает приложение Java как другой исполняемый файл. В этом случае это приложение устанавливается в C:\Users\Dustin\AppData\Local\EnhancedHelloWorld как показано на следующем снимке экрана.
Сгенерированный каталог, показанный на снимке экрана выше, включает в себя каталог «runtime» с JRE, необходимым для запуска этого приложения даже на машинах, на которых не установлена JRE. Само приложение Java хранится в виде JAR в каталоге «app». Обе эти подкаталоги показаны на следующих двух снимках экрана.
Созданный каталог включает в себя два файла .exe . Одним из них является EnhancedHelloWorld.exe , который является исполняемым файлом приложения Java. Другой файл .exe — unins000.exe . Запуск этого последнего файла .exe чисто удаляет приложение с компьютера.
На следующем снимке экрана показано, что я могу запустить приложение из окна «Пуск» в дополнение к нажатию на сгенерированный исполняемый файл.
Хотя пример кода Java, с которого я начинал, можно построить как исполняемое приложение с использованием NetBeans 7.4, как показано в этом посте, гораздо интереснее использовать приложение Java с пользовательским интерфейсом. Например, можно создать исполняемое приложение с NetBeans 7.4 на основе Java-класса HelloWorldSwing .
Мои примеры в этом посте были полностью посвящены Java SE (без JavaFX), но в них использовалась поддержка встроенной упаковки NetBeans 7.4 с помощью механизмов, созданных для развертываний JavaFX. Поэтому неудивительно, что документация JavaFX по автономной упаковке приложений полезна для понимания доступных опций. Собственная упаковка с NetBeans 7.4 также демонстрируется в Собственной упаковке в IDE NetBeans .










