Пакетування і поширення настільних додатків Java

  1. Створення виконуваного файлу JAR
  2. Створення проекту за допомогою існуючих файлів вихідного коду
  3. Налаштування проекту
  4. Перевірка платформи Java
  5. Призначення головного класу
  6. Побудова проекту і створення файлу JAR
  7. Запуск і поширення файлу JAR
  8. Запуск програми поза середовищем IDE
  9. Поширення застосування іншим користувачам
  10. Запуск програми Java
  11. Запуск додатків з командного рядка
  12. Запуск додатків з сценарію
  13. сценарій bash - для комп'ютерів під управлінням UNIX і Linux
  14. Сценарій .bat для комп'ютерів Windows
  15. Пакетування додатки для Java Web Start
  16. Поради щодо усунення проблем
  17. Установка змінної середовища PATH

Багато починаючі програмісти стикаються з таким питанням: "Я створив свій додаток в середовищі IDE, як тепер змусити його працювати з командного рядка поза середовищем IDE?". Може виникнути і таке питання: "Як мені поширити цю програму серед інших користувачів, не передаючи їм заодно всю середу IDE?".

Відповіді на ці питання відносно прості, але не завжди очевидні. В даному документі дані відповіді на них шляхом демонстрації основ використання середовища IDE для підготовки додатків до поширення і розгортання. Крім того, в даному документі надані відомості, які можуть бути необхідні для настройки системи програміста (або які потрібно буде передати користувачам додатки). Ми покажемо кілька різних підходів до розгортання додатки, що дозволяють користувачам отримувати доступ до нього за допомогою:

  • Подвійного клацання файлу архіву Java (JAR) додатки.
  • Виклику програми з командного рядка.
  • Виклику програми з файлу сценарію.
  • Використання Java Web Start.

зміст

Для роботи з цим навчальним курсом потрібні програмне забезпечення та матеріали, перелічені в таблиці нижче.


Створення виконуваного файлу JAR

У даній частині навчального курсу показано, як можна створити призначене для поширення додаток в середовищі IDE і потім запустити цю програму поза середовищем IDE. Ми пакетіруем це додаток в виконуваний файл JAR .

Фото JAR - це файл архіву, в який можуть бути вкладені файли і папки. Файли JAR подібні файлів ZIP, але файли JAR можуть мати додаткові атрибути, корисні при поширенні додатків Java. У число цих атрибутів входять цифровий підпис файлів JAR, додаткове стиснення, сумісність з різними платформами і т. Д.

У цій вправі ми створюємо проект середовища IDE і потім поміщаємо в цей проект два заздалегідь написаних файлу вихідного коду Java. Потім ми скомпілюємо класи і створимо виконуваний файл JAR. Після цього ми подивимося, як запускати файли JAR поза середовищем IDE.

Класи, які використовуються в цьому посібнику, реалізують функції службової програми GNU grep , Яку можна використовувати для пошуку тексту або шаблонів регулярних виразів в текстових файлах. Даний проект містить як версію програми для командного рядка, так і версію, що використовує графічний інтерфейс, що дозволить поглянути на різні способи запуску додатка.

Створення проекту за допомогою існуючих файлів вихідного коду

  1. завантажте файл DeploymentTutorial.zip і витягніть його вміст.
    Даний архів ZIP містить файли вихідного коду для додатка, а також кілька інших файлів, які будуть використані в цьому посібнику.

  2. В IDE NetBeans виберіть 'Файл'> 'Створити проект'.

  3. На сторінці Choose Category ( "Вибір категорії") виберіть Java Project With Existing Sources ( "Проект Java з існуючим вихідним кодом") в категорії Java і натисніть кнопку Next ( "Далі").
  4. На сторінці Name and Location ( "Ім'я та місце розташування") майстра введіть AnotherGrep в поле імені проекту і вкажіть місце розташування проекту.
    Залиште прапорець Set as Main Project ( "Встановити як основний проект") встановленим і натисніть кнопку Next ( "Далі").

    Місцезнаходження папки проекту не обов'язково має збігатися з місцем розташування вихідних файлів, що імпортуються в проект.

  5. На сторінці майстра Existing Sources ( "Існуючі вихідні файли") вкажіть файли вихідного коду, які будуть включені в проект.
    Натисніть кнопку Add Folder ( "Додати папку") праворуч від поля Source Package Folders ( "Папки джерельних пакунків"). Перейдіть до папки DeploymentTutorial, яку тільки що розархівували, розгорніть папку, виберіть папку src і натисніть кнопку Open ( "Відкрити"). Папка src буде додана до поля Source Package Folders ( "Папки джерельних пакунків").
  6. Натисніть кнопку "Завершити".

    Примітка. Якщо, наприклад, необхідно виключити певні вихідні файли з операції імпорту в проект, клацніть 'Далі', щоб відкрити останнє вікно 'Включає & Виключає'. У цьому випадку необхідно використовувати всі вихідні файли в папці src тому натискається кнопка 'Готово', щоб завершити роботу в майстра створення проектів.

Проект відкриється в середовищі IDE і відобразиться у вікні "Проекти". Вивчити зміст проекту можна, розгорнувши його вузол джерельних пакунків, в якому можна буде побачити класи Grep і xGrep. Grep.java - файл консольної версії додатка. xGrep.java - файл версії додатка з графічним інтерфейсом, що використовує методи, визначені в Grep.java.

Налаштування проекту

Для настройки проекту необхідно виконати декілька дій:

  • Виберіть платформу Java, яка буде використана для компіляції файлів вихідного коду.
  • Призначте головний клас проекту. Це дозволить гарантувати, що файл JAR, створюваний при побудові проекту, буде виконуваним.

Перевірка платформи Java

Наш проект повинен бути скомпільовано і запущений на платформі Java. Тому нам необхідно переконатися, що платформа Java 6 використовується в якості платформи для даного проекту.

  1. Правою кнопкою миші вузол проекту і виберіть елемент "Властивості".
  2. На вкладці "Бібліотеки" в якості платформи Java повинна бути вказана версія JDK 7.
  3. На вкладці Sources ( "Джерела") виберіть JDK 7 як формат двійкових файлів / файлів вихідного коду.
  4. Натисніть кнопку "ОК", щоб закрити вікно Project ( "Властивості").

Призначення головного класу

Щоб користувач міг без праці запустити створюваний файл JAR (двічі клацнувши його або ввівши java -jar AnotherGrep.jar в командному рядку), необхідно вказати головний клас всередині файлу маніфесту manifest в архіві JAR. (Файл маніфесту є стандартною частиною архіву JAR, що містить інформацію про фото JAR, яка буде корисна для засобу запуску java під час запуску програми.) Головний клас служить точкою входу, з якої засіб запуску java запускає додаток.

При складанні проектів серед IDE створює файл із розширенням JAR і включає в нього маніфест. При призначенні головного класу проекту ми переконуємося, що головний клас зазначений в маніфесті.

Для призначення головного класу проекту виконайте наступні дії:

  1. Правою кнопкою миші вузол проекту і виберіть елемент "Властивості".
  2. Виберіть панель Run ( "Запуск") і введіть anothergrep.xGrep в поле Main Class ( "Основний клас").
  3. Натисніть кнопку "ОК" для закриття діалогового вікна "Властивості проекту".

При складанні проекту нижче в цьому керівництві буде створено маніфест, що включає в себе наступний запис:

Main-Class: anothergrep.xGRep

Побудова проекту і створення файлу JAR

Тепер, коли файли вихідного коду готові і параметри проекту налаштовані, пора виконати збірку проекту.

збірка проекту

  • Виберіть Run ( "Виконання")> Build Main Project ( "Збірка головного проекту").
    В якості альтернативи клацніть правою кнопкою миші вузол проекту у вікні 'Проекти' і виберіть 'Збірка'.

При складанні проекту відбувається наступне.

  • До папці проекту (далі "папка PROJECT_HOME") додаються папки build і dist.
  • Всі вихідні файли компілюються в файли .class, які поміщаються в папку PROJECT_HOME / build.
  • В папці PROJECT_HOME / dist створюється архів JAR, що містить проект.
  • Якщо для проекту вказані будь-які бібліотеки (крім JDK), в папці dist створюється папка lib. Бібліотеки копіюються в папку dist / lib.
  • Файл маніфесту manifest в архіві JAR оновлюється за рахунок включення записів, що вказують головний клас і все бібліотеки, які знаходяться в дорозі класів проекту.

Примітка. Вміст Manifest можна переглянути у вікні 'Файли' IDE. Після побудови проекту переключіться на вікно Files ( "Файли") і перейдіть до dist / AnotherGrep.jar. Розгорніть вузол файлу JAR, розгорніть папку META-INF і двічі клацніть MANIFEST.MF, щоб відобразити Manifest в редакторі вихідного коду.

Main-Class: anothergrep.xGrep (Додаткові відомості про файли маніфесту наведені в цьому розділі в навчальному курсі з Java).

Запуск і поширення файлу JAR

Запуск програми в середовищі IDE

При розробці додатків в середовищі IDE їх зазвичай слід протестувати і оновити перед розповсюдженням. Для тестування програми, над яким ви працюєте, потрібно просто запустити його з-поміж IDE.

Для запуску проекту AnotherGrep в IDE, клацніть правою кнопкою миші вузол проекту у вікні 'Проекти' і виберіть 'Виконати'.

Повинно відкритися вікно xGrep. Можна натиснути кнопку Browse ( "Огляд") для вибору файлу, в якому слід виконати пошук текстового шаблону. В поле Search Pattern ( "Шаблон пошуку") введіть шаблон у вигляді тексту або регулярного виразу, збіги з яким слід шукати, і натисніть кнопку Search ( "Пошук"). Всі збіги з'являться в області Output ( "Вихідні дані") вікна xGrep.

Відомості про регулярні вирази, які можна використовувати в додатку, доступні тут і в багатьох інших місцях.

Запуск програми поза середовищем IDE

По завершенні роботи над додатком і перед його розповсюдженням бажано переконатися, що воно також буде працювати поза середовищем IDE.

Запустити програму поза середовищем IDE можна виконавши наступні дії:

  • У диспетчері файлів системи (наприклад, у вікні "Мій комп'ютер" на системах Windows XР) перейдіть до PROJECT_HOME / dist та двічі клацніть файл AnotherGrep.jar.

Якщо вікно xGrep відкрилося, додаток запущено успішно.

Якщо вікно xGrep не відкривається, то, швидше за все, відсутній зіставлення між файлами JAR і середовищем виконання Java. Див. Усунення проблем з порівняннями файлів JAR нижче.

Поширення застосування іншим користувачам

Тепер, коли підтверджено, що додаток працює поза середовищем IDE, можна перейти до його поширенню.

  • Надішліть файл JAR додатки всім, хто буде використовувати додаток. Користувачі програми зможуть запускати його, двічі клацнувши файл JAR. Якщо у них це не вийде, покажіть їм інформацію в розділі Усунення проблем з порівняннями файлів JAR , Наведену.

Примітка. Якщо робота програми залежить від додаткових бібліотек, крім включених до JDK, необхідно включити їх в поширення (не відноситься до цього прикладу). Відносні шляхи до цих бібліотек додаються до запису classpath файлу маніфесту JAR при розробці програми в середовищі IDE. Якщо ці додаткові бібліотеки будуть знайдено за вказаною шляху класу (тобто відносного шляху) при запуску, програма не запуститься.
Створіть архів ZIP, що містить файл JAR і бібліотеку, після чого відправте цей файл ZIP користувачам. Проінструктуйте користувачів розпакувати цей архів ZIP так, щоб файл JAR і файли JAR бібліотек були в одній папці. Запустіть файл JAR додатки.

Запуск програми Java

Мета цієї вправи полягає в демонстрації деяких із способів запуску програми з командного рядка.

У даній вправі показано, як можна запустити додаток Java наступними двома способами:

  • Виконання команди java з командного рядка.
  • Використання сценарію для виклику класу в файлі JAR.

Запуск додатків з командного рядка

Додаток можна запустити з командного рядка, використовуючи команду java. Якщо потрібно виконати виконуваний файл JAR, використовуйте параметр -jar команди.

Наприклад, для запуску програми AnotherGrep треба виконати наступні дії:

  1. Відкрити вікно терміналу. На системах Microsoft Windows це робиться шляхом натискання кнопки "Пуск" і вибору "Виконати ...", введення cmd в полі "Відкрити:" і натискання кнопки "ОК".
  2. Перейдіть в каталог PROJECT_HOME / dist (використовуючи команду cd).
  3. Введіть наступний рядок для запуску головного класу програми: java -jar AnotherGrep.jar

Якщо ці інструкції виконані, а програма не запускається, ймовірно, слід виконати одну з наступних дій:

Запуск додатків з сценарію

Якщо програму, яку потрібно поширити, є консольним додатком, може виявитися, що його зручніше запускати зі сценарію, особливо якщо для запуску програми потрібні довгі і складні аргументи. У цьому розділі ми використовуємо консольную версію Grep, в якій необхідно передати аргументи (шаблон пошуку і список файлів) файлу JAR, що викликається в нашому сценарії. Для скорочення обсягу, введеного в командний рядок, ми використовуємо простий сценарій, який підходить для запуску тестового додатка.

В першу чергу необхідно змінити головний клас в додатку на консольну версію класу і побудувати файл JAR заново:

  1. У вікні 'Проекти' в IDE правою кнопкою миші вузол проекту (AnotherGrep) і виберіть 'Властивості'.
  2. Виберіть вузол Run ( "Запуск") і змініть властивість Main Class ( "Головний клас") на anothergrep.Grep (з anothergrep.xGrep). Натисніть кнопку "ОК", щоб закрити вікно Project Properties ( "Властивості проекту").
  3. Знову клацніть правою кнопкою миші вузол проекту і виберіть Clean and Build Project ( "Очищення і збірка проекту").

По завершенні цих дій файл JAR буде зібраний заново, а атрибут Main-Class в маніфесті файлу JAR буде вказувати на anothergrep.Grep.

сценарій bash - для комп'ютерів під управлінням UNIX і Linux

У папці, куди було вилучено вміст файлу DeploymentTutorial.zip , Можна знайти сценарій bash з ім'ям grep.sh. Давайте подивимося на нього:

#! / Bin / bash java -jar dist / AnotherGrep.jar $ @

Перший рядок вказує, який інтерпретатор команд слід використовувати для інтерпретації цього сценарію. Друга виконує файл JAR, створений середовищем IDE в папці PROJECT_HOME / dist. $ @ Просто копіює все передані сценарієм аргументи, укладаючи кожен в лапки.

Даний сценарій має на увазі, що виконавчі файли Java є частиною змінної середовища PATH. Якщо даний сценарій не працює на вашому комп'ютері, див. Установка змінної середовища PATH .

Додаткові відомості про написання сценаріїв для інтерпретатора bash можна знайти тут .

Сценарій .bat для комп'ютерів Windows

На комп'ютерах Microsoft Windows пакетним файлів можна одночасно передавати не більше дев'яти аргументів. При наявності більше дев'яти аргументів файл JAR буде необхідно виконати кілька разів.

Сценарій для цього може виглядати наступним чином:

@echo off set jarpath = "dist / AnotherGrep.jar" set pattern = "% 1" shift: loop if "% 1" == "" goto: allprocessed set files =% 1% 2% 3% 4% 5% 6 % 7% 8% 9 java -jar% jarpath%% pattern%% files% for %% i in (0 1 2 3 4 5 6 7 8) do shift goto: loop: allprocessed

Даний сценарій можна знайти під назвою grep.bat в папці, куди було вилучено вміст архіву DeploymentTutorial.zip , Якщо необхідно побачити його в дії.

Дев'ять аргументів представлені всередині пакетного файлу як% <ARG_NUMBER>, де <ARG_NUMBER> повинен мати значення в межах <0-9>. % 0 зарезервовано для назва сценарію.

Можна побачити, що за раз (в одному циклі) програмі передаються тільки дев'ять аргументів. Оператор for просто зміщує аргументи на дев'ять, щоб підготувати їх до наступного циклу. Цикл завершується після виявлення порожнього аргументу файлу оператором if (це вказує на відсутність нових файлів для обробки).

Додаткові відомості про пакетних сценаріях можна знайти на цій сторінці .

Пакетування додатки для Java Web Start

Java Web Start є технологією, яка використовується для запуску додатків Java з веб-браузера одним клацанням миші. Докладні відомості про упаковку додатків для розгортання за допомогою Java Web Start см. В розділі Включення Java Web Start в IDE NetBeans . Тут ми наводимо тільки короткий опис дій, необхідних, щоб зробити додаток розгортається за допомогою Java Web Start.

  1. Клацніть правою кнопкою миші вузол проекту у вікні Projects ( "Проекти") і виберіть Properties ( "Властивості").
  2. На вкладці Web Start вікна Project Properties ( "Властивості проекту") встановіть прапорець Enable Web Start ( "Активувати Web Start").
  3. Виберіть Local Execution ( "Локальне виконання") із списку Codebase ( "Кодова база"), оскільки ми будемо тестувати тільки локальне виконання.
    Збережіть всі інші параметри за замовчуванням і натисніть кнопку "ОК".
  4. Клацніть правою кнопкою миші вузол проекту і виберіть Clean and Build Project ( "Очищення і збірка проекту").
    Дана команда середовища IDE видалить всі раніше скомпільовані файли і результати збірок, скомпілює додаток заново і збере проект з новими параметрами.
  5. Поза середовища IDE відкрийте папку PROJECT_HOME / dist, після чого відкрийте файл launch.html в своєму браузері.
    З'явиться тестова сторінка HTML з кнопкою Launch ( "Запуск").
  6. Натисніть кнопку Launch, щоб відкрити програму.
    Можна буде побачити, що Java завантажена і додаток запускається.

    Примітка. Деякі браузери спочатку перенаправляють користувачів на сторінку завантажень Java.

Поради щодо усунення проблем

Вказівка ​​зіставлень файлів JAR

На більшості комп'ютерів виконуваний файл JAR можна виконати, просто двічі клацнувши його. Якщо при подвійному натисканні файлу JAR нічого не відбувається, це може бути викликано однієї з двох наступних причин:

  • Тип файлів JAR не приміряючи із середовищем виконання Java (JRE) на цьому комп'ютері.

    Якщо тип файлів JAR зіставлений з JRE, значок, що представляє цей файл, повинен включати логотип Java.

  • Тип файлів JAR зіставлений JRE, але параметр -jar не входить в команду, передану JRE при подвійному натисканні значка.

Примітка. Іноді зв'язку файлів JAR перемикаються встановленим ПО, наприклад, програмним забезпеченням для обробки файлів у форматі zip.

Спосіб, яким тип файлів JAR можна прив'язати до засобу запуску java, залежить від операційної системи.

Примітка. Переконайтеся, що на вашому комп'ютері встановлена ​​одна з версій JRE. Слід використовувати версію 1.4.2 або більш пізні. Програми Java не можна запускати на комп'ютерах, де не встановлена ​​платформа Java. (В разі установки комплекту для розробника на мові Java (JDK) з ним встановлюється і JRE. Однак якщо програма поширюється не тільки серед програмістів, у користувачів може не бути JRE або JDK.)

  • На Windows XP встановлену версію Java можна перевірити вибравши "Пуск"> "Панель управління"> ( "Установка і видалення програм") (там повинна бути вказана, наприклад, Java (TM) 7 Update 25).
  • У Windows Vista або 7 встановлену версію Java можна перевірити, вибравши "Пуск> Панель управління> Програми та засоби" (там повинно відображатися назва версії, наприклад Java (TM) 7 Update 25).

Якщо на комп'ютері відсутня платформа Java, JRE можна завантажити з сайту завантажень Java SE .

Якщо ж вона вже є на комп'ютері, але зіставлення файлів не працює, виконайте дії для додавання зв'язку файлу JAR в Microsoft Windows:

  1. Виберіть "Пуск"> "Панель управління".
  2. (Стосується лише Windows Vista). Клацніть 'Панель управління'> 'Програми'.
  3. У Windows XP двічі клацніть 'Властивості папки' і виберіть вкладку 'Типи файлів'.
    Для Windows Vista або 7 клацніть 'Програми за замовчуванням' і виберіть 'Зв'язати тип файлу або протокол із програмою'.
  4. У списку "Зареєстровані типи файлів" виберіть файл із розширенням JAR.
  5. (В Windows XP в розділі "Відомості" діалогового вікна клацніть "Змінити програму").
  6. У діалоговому вікні "Вибір програми" виберіть Java Platform SE Binary.
  7. Натисніть кнопку "ОК" для виходу з діалогового вікна "Вибір програми".
  8. Натисніть кнопку 'Закрити', щоб закрити діалогове вікно 'Властивості папки' (в Windows XP) або діалогове вікно зв'язування типу файлу або протоколу з конкретними програмами (в Windows 7).

Примітка. Якщо файли JAR files пов'язані з Java Platform SE Binary в системі, але подвійне клацання все одно не запускає файл JAR, може зажадати вказівку параметра -jar в зв'язку файлів.

Щоб вказати параметр -jar в зіставленні файлу на Microsoft Windows XP, виконайте наступні дії.

  1. Виберіть "Пуск"> "Панель управління".
  2. У Windows XP двічі клацніть 'Властивості папки' і виберіть вкладку 'Типи файлів'.
  3. У списку "Зареєстровані типи файлів" виберіть файл із розширенням JAR.
  4. У розділі "Відомості" діалогового вікна клацніть "Додатково".
  5. У діалоговому вікні "Зміна властивостей типу файлів" клацніть "Змінити ...".
  6. У текстовому полі "Додаток, що виконує дію" додайте наступний рядок в кінці шляху до JRE: -jar "% 1"% * Після цього поле повинно містити текст, подібний наступного: "C: \ Program Files \ Java \ jre1.7.0_25 \ bin \ javaw.exe "-jar"% 1 "% *
  7. Натисніть кнопку "ОК" для виходу з діалогового вікна "Зміна дії для типу".
  8. Натисніть кнопку "ОК" для виходу з діалогового вікна "Зміна властивостей типу файлів".
  9. Натисніть кнопку "Закрити" для виходу з діалогового вікна "Властивості папки".

Примітка. Починаючи з Windows Vista розширені зв'язку файлів можна налаштувати за допомогою RegEdit. Додаткові Відомості див. У статті Що сталося з діалоговим вікном типів файлів? .

Для систем UNIX і Linux процедура зміни зіставлень файлів залежить від того, який робочий середовище (на кшталт GNOME або KDE) використовується. Загляньте в параметри своєї робочої середовища або ознайомтеся з документацією по робочому середовищі.

Установка змінної середовища PATH

Якщо на комп'ютері неможливо запустити клас Java або файл із розширенням JAR без вказівки на місце розташування JDK або JRE, можливо, слід змінити значення змінної середовища PATH системи.

При роботі в системі Microsoft Windows процедура установки змінної PATH залежить від використовуваної версії Windows.

Нижче наведені етапи установки змінної PATH на системі Windows XP:

  1. Виберіть "Пуск"> "Панель управління" і двічі клацніть "Система".
  2. У діалоговому вікні "Властивості системи" виберіть вкладку "Додатково".
  3. Клацніть вкладку "Змінні середовища".
  4. У списку змінних середовища користувача виберіть PATH і натисніть кнопку "Змінити".
  5. Додайте місце розташування JRE до кінця списку шляхів. Місця розташування в списку розділені крапкою з комою (;).
    Наприклад, якщо JRE встановлений в каталог C: \ Program Files \ Java \ jdk1.6.0_25, в кінець змінної PATH необхідно додати наступне: C: \ Program Files \ Java \ jdk1.7.0_25 \ bin
  6. Натисніть кнопку "ОК" для виходу з діалогового вікна "Змінні середовища", потім натисніть кнопку "ОК" для виходу з діалогового вікна "Властивості системи".

При роботі в операційній системі UNIX або Linux спосіб зміни змінної середовища PATH залежить від використовуваної програми інтерпретатора команд. Ознайомтеся з документацією по інтерпретатора команд для отримання додаткових відомостей.


Що далі?

Може виникнути і таке питання: "Як мені поширити цю програму серед інших користувачів, не передаючи їм заодно всю середу IDE?
Що далі?

Дополнительная информация

rss
Карта