Як створити проект Java з Maven?

16 0 Новини високих технологій

Java Maven - інструмент управління проектами, який надає розробникам повну структуру життєвого циклу складання. Середовища з кількома командами розробки швидко виконують роботу відповідних стандартів, а більшість налаштувань проекту прості та багаторазові. Maven спрощує життя розробникам при створенні звітів, контролю і при налаштуванні автоматизації.

Переваги процесу розробки

Java Maven допомагає розробнику легше створювати Java-проект. Будь-яка нова задача, додана в проект, легко інтегрується в конфігурації Maven. Це збільшує продуктивність процесу проектування та будівництва. Головна особливість Maven полягає в тому, що цей інструмент може автоматично завантажувати бібліотеки проекту.


При виконанні своїх функцій для узгодженості та збереження гнучкості він використовує суворе правило, заснований на XML. Оскільки більшість систем в Java інтегровані, вони створюють надійні Java Maven проекти з базовою системою побудови. Процеси, які управляються за допомогою цього інструменту:
  • Проект.
  • Документація.
  • Складання звітів.
  • Залежності.
  • СДМ.
  • Релізи.
  • Розподілу.
  • Список розсилки.
  • Архітектура Java Maven.
  • Настройка конфігурації

    Як створити проект Java з Maven?
    Щоб налаштувати Maven, використовують Project Object Model, який зберігається у файлі pom.xml. POM включає налаштування конфігурації, пов'язані з проектом. Плагіни налаштовують і редагують в тезі файлу pom.xml. Коли користувач працює на Java Maven, то отримує налаштування за замовчуванням. Послідовність побудови проекту:


  • Додати код для створення і обробки додатків в репозиторії вихідного коду.
  • Змінити параметри configurations/pom.XML/plugin.
  • Створити додаток для проекту Java Maven.
  • Зберегти вивід процесу складання, як WAR або EAR-файл, локальне розташування або на сервері.
  • Отримати файл з локального місця розташування або сервера і розгорнути його на сайті.
  • Оновити документ програми з датою і останньою версією, у відповідності з вимогою програми.
  • Maven написаний на мові Java, застосовується для управління проектами на мовах C #, Ruby, Scala та інших.

    Установка

    Щоб використовувати Maven, спочатку переконуються, що програма встановлена на комп'ютері. Після цього створюють новий каталог на жорсткому диску, який буде кореневим, а далі створюють файл pom.xml всередині каталогу, поміщаючи наступний XML.
    Як створити проект Java з Maven?
    Це мінімальний pom.xml файл, який необхідно мати перед тим як створити проект з Java Maven. Де:
  • GroupId - ідентифікує організацію.
  • ArtifactId - ідентифікує проект. Більш конкретно, він ідентифікує твір, побудований з проекту, наприклад, JAR-файл.
  • Version версія артефакту, який створює файл POM.
  • Коли розробляється проект, необхідно стежити за оновленням версії. Інші проекти, які використовують артефакт, будуть посилатися на нього з допомогою groupId, artifactId і version.

    Тестування файлу POM

    Після створення pom.xml всередині кореневого каталогу контролюють працездатність Maven, а також те, як він розуміє встановлений файл. Для цього відкривають командний рядок і переносять cd в корінь. Потім виконують команду mvn clean. Вона очистить каталог Java Maven project від попередніх тимчасових файлів збірки. Далі Maven повідомить, який проект знайдений, і виведе це в командний рядок. Це підтверджує, що він розуміє POM. Результат висвітиться на екрані.
    Як створити проект Java з Maven?
    Коли перевірений файл POM, створюють вихідний каталог Java всередині стандартного макета. При цьому src буде знаходитися всередині кореневого каталогу проекту. Всередині нього створюється main каталог, у якому розміщують java каталог - кореневий для вихідного коду.

    Створення вихідного файлу Java

    Всередині кореневого вихідного каталогу src/main/java створюється новий пакет java) helloworld. В нього вставляють файл з ім'ям HelloWorld.java. Коли створено вихідний файл, відкривають командний рядок і встановлюють кореневий каталог проекту. Потім виконують наступну команду mvn package. Вона вказує Maven на виконання package фази збірки, яка є частиною default побудови життєвого циклу. Maven буде компілювати вихідний файл і створить файл jar Java Maven, що містить скомпільований Java-клас. Maven створює target підкаталог всередині кореневого. Всередині target розташований готовий JAR-файл, а також безліч тимчасових файлів, наприклад, classes - каталог, що містить всі скомпільовані класи. На основі POM в даному прикладі JAR-файл буде називатися HelloWorld.100.jar.

    Створення файлів налаштувань

    Якщо Maven встановлений вперше, наприклад, як частина установки Oracle WebLogic Server, у нього ще не буде файлу налаштувань. Локальний репозиторій maven - це локальна папка, що використовується для зберігання залежностей проекту. Місцем за замовчуванням є папка .m2. Приклад місця розташування файлу налаштувань:
  • Якщо ім'я користувача bob, шлях до каталогу в UNIX виглядає так:/home/bob/.m2/settings.xml.
  • Місце розташування в ос Windows: C: Users боб .m2 settings.xml.
  • Щоб змінити розташування за умовчанням, знаходять {M2_HOME}confsetting.xml файл та редагують localRepository ключ: /path/to/local/repo.
    Розробник створює файли налаштувань Maven у випадках:
  • При використанні брандмауера або проксі-сервера.
  • При використанні власного внутрішнього менеджера сховища.
  • Файл налаштувань Maven викликається settings.xml і зберігається .m2 каталозі. Нижче наведено приклад файлу налаштувань.

    Модуль синхронізації

    Як створити проект Java з Maven?
    Oracle Fusion Middleware 12 надає модуль Maven Synchronization, який спрощує процес налаштування сховищ і виключає необхідність користувачеві розбиратися, які виправлення встановлені в конкретному середовищі. Цей плагін заповнює репозиторій з Oracle і гарантує, що складання використовують правильні артефакы в конкретному середовищі. Плагін синхронізації Oracle Maven включений в установку Oracle WebLogic Server, Oracle Coherence і Oracle JDeveloper. Щоб використати модуль, що вказують розташування будинку Oracle і репозиторію. Його можна визначити, використовуючи шлях до файлової системи або URL-адресу. Плагін перевіряє всі артефакти Maven в Oracle і гарантує, що всі вони встановлені в зазначеному репозиторії, а версії відповідають і збігаються на рівні двійковому.

    Приклад перекидання Java Project

    Як створити проект Java з Maven?
    Якщо у користувача є проект Java, а він хоче перетворити його в Maven, знаходять папку resources. Всередині неї знаходять папку з ім'ям Scripts, яка містить один виконуваний файл сценарію оболонки - .CrunchifyMain.java і є основною відправною точкою для main всередині pom.xml файлу. Рекомендується попередньо встановити додаткові плагіни maven-resources-plugin і maven-dependency-plugin, що відповідають за копіювання ресурсів проекту у вихідний каталог. Послідовність дій:
  • Відкрити pom.xml файл.
  • Оновити розташування каталогу, ім'я файлу і шлях (за необхідності).
  • Натиснути правою кнопкою миші Project -> Run As -> Maven Build.
  • Вказати аргумент install clean.
  • Вказати папку /target/Crunchify, щоб виконати перевірку.
  • Запустити проект з допомогою команди: $bash> java -jar Crunchify.jar
  • Компіляція та модульні тести

    Кожен програміст виконує модульні тести. Для цього він вводить наступну команду: тест mvn. Після виконання цієї команди на екран буде виведена інформація:
    Як створити проект Java з Maven?
    Maven може завантажує більше плагінів, ніж необхідно для виконання тестів, оскільки у нього вже є залежності, необхідні для компіляції. Перед компіляцією і виконанням він компілює код основний. Якщо потрібно скомпілювати тестові джерела, виконують команду: mvn test-compile. Тепер, можна скомпілювати і виконати джерела додатків і тести.

    Установка Windows

    Як створити проект Java з Maven?
    Дуже просто встановити Apache Maven на Windows. Попередньо завантажують архів .zip, налаштовують змінну шляху Windows. Послідовність операцій:
  • Завантажити і розпакувати останню версію Maven. В розділі «Файли» вибирають опцію «Двійковий архів zip».
  • Розпакувати архів в локальну папку c: tools apache-maven-339.
  • Налаштовують змінну JDK та JAVA_HOME для середовища Windows.
  • Якщо не JDK встановлено, переходять на сторінку завантаження Java Maven Home і скачують останню версію JDK.
  • Запускають програму установки і виконують послідовні кроки.
  • Після завершення установки на панелі управління Windows відкрити System-> Advanced system settings-> Environment Variables і додати змінну JAVA_HOME.
  • Додати змінну M2_HOME в середовище Windows.
  • Наступний крок - налаштувати змінну M2_HOME, щоб вказати на папку Maven, наприклад: c: tools apache-maven-339.
  • Додати M2_HOME шлях в папку bin. Для цього вибирають змінну Path із System-> Advanced system settings-> Environment Variables ->Edit і додають її у кінець.
  • Перевіряють, чи були успішні встановлення та налаштування з команди запуску командного рядка: mvn -version
  • На екрані поваляется повідомлення. Це означає, що налаштування Maven на комп'ютері пройшла успішно. Якщо вікна командного рядка були відкриті перед налаштуванням змінних середовища, то потрібно перезапустити вікна командного рядка.
  • Завантаження на macOS

    Установка Maven працює для будь-якої версії macOS.
    Послідовність процесу:
  • На сторінці завантаження отримати останню версію Maven Java version двійкового файлу.
  • Перемістити архів в папку призначення, наприклад, до /usr /local:sudo mv apache-maven-339-bin.tar.gz /usr/local.
  • Ця команда перемістить файл /usr /local.
  • Витягують команду run:sudo tar -xvf apache-maven-339-bin.tar.gz.
  • Команда буде витягнута в поточну папку.
  • Видаляють архів, виконавши наступну команду: sudo rm apache-maven-339-bin.tar.gz.
  • Для доступу до Maven з каталогу налаштовують M2_HOME і додають каталог bin в шлях.
  • Перевіряють запуск версії команди: mvn -version.
  • Повинно з'явитися повідомлення на екран.
  • Як створити проект Java з Maven?
    Функції Maven для macOS ми винесли в таблицю:

    Функція



    Опис



    Робота оффлайн



    Якщо цей прапорець встановлений, Maven працює в автономному режимі і використовує тільки ресурси, доступні локально. Ця опція відповідає опції «offline» командного рядка.



    Використовувати реєстр плагінів



    Встановлюють прапорець, щоб включити посилання на реєстр плагінів Maven. Це відповідає опції no-plugin-registry командного рядка.



    Виконання рекурсивних цілей



    Якщо цей прапорець встановлений, збірка буде повторюватися у вкладених проектах. Очищення цього прапорця відповідає опції non-recursive командного рядка.



    Трасування стека винятків друку



    Якщо цей параметр відзначено, генеруються сліди стека винятків. Це відповідає опції errors командного рядка.



    Оновлення знімків



    Встановлюють цей прапорець, якщо потрібно, щоб Java Maven IDEA оновлював моментальні знімки при синхронізації.



    Вихідний рівень



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



    Політика контрольної суми



    Вибирають бажаний рівень відповідності контрольної суми при завантаженні артефактів. Можна відмовитися від завантаження, коли контрольні суми не збігаються з strict-checksums або видають попередження lax-checksums.



    Політика збою складання з декількома проектами



    Вказують, як обробляти збій у збірці мультипроекта. Можна відмовитися від складання при першому збої, який відповідає опції командного рядка fail-fast. Помилка в кінці відповідає параметру командного рядка fail-at-end.



    Політика оновлення плагіна



    Вибрати політику оновлення плагіна в розкривному списку. Можна взяти перевірку наявності оновлень, що відповідають параметру командного рядка check-plugin-updates. Відключають перевірку оновлень, що відповідає опції командного рядка no-plugin-updates. Цей параметр ігнорується для Maven 3 і більш пізніх версій.



    Потоки - T option



    Використовують це поле, щоб встановити «T» параметр для паралельних складок. Ця опція доступна для Maven 3 і більш пізніх версій.



    Головна директорія Maven



    Використовують цей розкривний список, щоб вибрати поставляється в комплекті версію Maven (для Maven2 потрібна версія 221 а для Maven3 - версія 305) або результат дозволених системних змінних, таких як MAVEN_HOME або MAVEN2_HOME. Також можна вказати власну версію Maven, встановлену на комп'ютері, і вибрати потрібний каталог в діалозі.



    Файл налаштувань користувача



    Вказати файл, що містить конфігурацію для користувача Maven в текстовому полі. Якщо потрібно вказати інший, встановлюють прапорець «Перевизначити», натискають кнопку «Эллипсис» і вибрати потрібний файл у діалоговому вікні «Вибір файлу Maven».



    Локальний репозиторій



    За замовчуванням у полі відображається шлях до локального каталогу користувача, який зберігає завантаження і містить тимчасові артефакти складання. Якщо потрібно вказати інший каталог, встановлюють прапорець «Перевизначити», натискають кнопку «три Крапки» та вибирають потрібний шлях у діалоговому вікні «Вибір локального сховища Maven».

    Налаштування проксі-сервера Windows

    Коли встановлено Maven в Windows, виконують налаштування проксі-сервера. Якщо користувач отримав повідомлення про помилку Malformed reply from SOCKS server, налаштовують параметри проксі. Щоб виконати налаштування, роблять наступні кроки:
  • Переходять до шляху - {M2_HOME} /conf/settings.xml.
  • Відкривають файл settings.xml в режимі редагування в будь-якому текстовому редакторі.
  • Відкривають і оновлюють тег.
  • Щоб заощадити час, можна додати дані проксі в кінці команд Maven: $ mvn install clean -DproxySet=true -DproxyHost=ur.proxy.server -DproxyPort=port.
  • Можна встановити проксі-сервер з командного рядка. У цьому випадку рекомендується використовувати глобальні параметри settings.xml файлі.
    Як створити проект Java з Maven?

    Альтернативні підходи до налаштування HTTP-проксі

    Є кілька альтернативних підходів, які використовують для налаштування проксі-сервера HTTP, але, в цілому, вони не так зручні, як редагування settings.xml файлу. Наприклад, можна використовувати підхід http.proxyHost і http.proxyPort властивості системи в InstallDir/etc/system.properties файлі так само, як підхід для автономного контейнера без Fabric:
  • http.proxy Host = 19202.0.
  • http.proxy Port = 8080.
  • Ця конфігурація має недолік, не дозволяючи користувачам безпосередньо звертатися до проксі-сервера Maven у внутрішній мережі. Щоб компенсувати це, необхідно налаштувати список хостів без проксі-сервера для включення тих, на яких працюють сервери Fabric. З наведеного матеріалу зрозуміло, що Java Maven - це платформа, яка спрощує і стандартизує процес складання проекту, легко обробляє компіляцію, розповсюдження, документацію, колективну роботу. Також вона виконує більшу частину завдань, пов'язаних з побудовою.