Maven. Частина 2 - Dependency
У цьому уроці я вам покажу основну силу Maven. а саме як створити проект, який можна розробляти цілою командою і при цьому не буде потрібно кожному члену команди підключати необхідні бібліотеки до проекту, давайте почнемо.
І так почнемо з того, навіщо вам потрібен Maven. У статті Maven. Частина 1 - Знайомство і настройка ми вже трохи розібрали що це і як налаштувати.
Тут я хочу вам показати як використовувати цей інструмент, а покажу вам його використання на прикладі JUnitтестірованія.
Крок 1. Створення Maven проекту
Запускаємо нашу всім улюблену Intellij IDEA і натискаємо File -> Create New Project
Тепер в корені проекту ви повинні побачити файл pom.xml.
І ось що ви повинні бачити:
За допомогою цього файлу і здійснюється настройка збірки вашого проекту. Наприклад вам потрібно зібрати проект в * .jar файл, для цього вам достатньо вказати це в pom.xml. Як зібрати проект в jar файл ви можете подивитися тут.
Це файл спочатку має default (за замовчуванням) структуру.
Крок 3. Використовуємо Dependency
Що ж таке dependency і для чого вони потрібні?
Dependency - це залежності від бібліотек, а якщо точніше, то це і є бібліотека, яку ви б хотіли підключити до проекту.
Розглянемо на базовому шаблоні:
У вище наведеному прикладі я продемонстрував підключення бібліотеки JUnit 4.11 до проекту, тепер при складанні проекту ця бібліотека упак в мій * .jar або * .war архів, а також тепер ми в наших класах можемо звертатися до об'єктів бібліотеки JUnit.
Крок 4. Структура проекту
Стандартна структура каталогів:
Стандартна структура каталогів - одна з реалізацій цього принципу.
Оскільки проект її дотримується, відпадає необхідність уточняти шляху до файлів, що сильно спрощує pom.xml.
Наступна структура показує найважливіші каталоги.
- pom.xml і все подальші підкаталоги;
src / main: вихідні файли власне для продукту;
src / main / java. Java -ісходний текст;
src / main / resources. інші файли, які використовуються при компіляції або виконанні, наприклад Properties-файли;
src / test. вихідні файли, необхідні для організації автоматичного тестування;
src / test / java. JUnit-тест-завдання для автоматичного тестування;
target. всі створювані в процесі роботи Мавена файли;
target / classes. компілюють Java-класи.
Крок 5. Життєвий цикл
Життєвий цикл проекту - це список названих фаз. визначає порядок дій при його побудові.
Maven використовує за замовчуванням наступний життєвий цикл:
1) archetype - створення темплейта і обробка ресурсів. На цій фазі вирішуються і, при необхідності, викачуються з інтернету залежності;
2) compile - компіляція;
3) обробка тестових ресурсів (наприклад - скачується з інтернету JUnit-пакет);
4) компіляція тестів (тестуючі класи не передаються кінцевим користувачам);
5) test - тестування;
6) package - упаковка (зазвичай мова йде про створення JAR - або WAR-файлу);
7) install - інсталяція проекту в локальному Maven-репозиторії (тепер він доступний як модуль для інших локальних проектів);
8) deploy - інсталяція в віддаленому Maven-репозиторії (тепер стабільна версія проекту з великою групою людей розробників).
Maven має також стандартний життєвий цикл для чищення (cleaning) і для генерації його сторінки (site). Якби 'clean' було частиною звичайного життєвого циклу, проект піддавався б чищенні при кожному побудові, що небажано.
Стандартні життєві цикли можуть бути істотно доповнені Maven-плагінами і Maven-архетипами.
Maven-плагіни дозволяють вставляти в стандартний цикл нові кроки (наприклад, розподіл на сервер додатків) або розширювати існуючі кроки. Maven-архетипи представляють собою заготовки для найрізноманітніших програмних пакетів (якщо вони відповідають стандартам Maven-структури).
Правила передруку сайта www.DevColibri.com
Шановний відвідувач проекту!
Вам дозволяється вільно використовувати в своїх цілях будь-який документ при дотриманні наступних умов:
• В кінці передруковувати документа Ви зобов'язані вставити посилання на сайт www.devcolibri.com.
З повагою, Адміністратор!
[email protected]