Що це робить
Maven є «інструментом управління складанням», то для визначення того, як ваші .java
файли компілюються в .class
, упаковані в .jar
(або .war
чи .ear
) файли (до / після) , оброблених з допомогою інструментів, управління вашим CLASSPATH
, а всіх інших родів завдань, які необхідні для побудувати свій проект. Він схожий на Apache Ant або Gradle або Makefiles в C / C ++, але він намагається бути повністю автономним в ньому , що вам не потрібно ніяких додаткових інструментів або сценарії, включивши інші спільні завдання , такі як завантаження і установки необхідних бібліотек і т.д.
Він також розроблений навколо теми "мобільність переносу", щоб у вас не виникало проблем, як один і той же код із тим же збірним сценарієм, що працює на одному комп’ютері, а не на іншому (це відома проблема, у нас є віртуальні машини Windows 98 машин, оскільки ми не змогли отримати деякі наші програми Delphi, компільовані деінде). Через це, це також найкращий спосіб працювати над проектом між людьми, які використовують різні IDE, оскільки сценарії Ant, створені за допомогою IDE, важко імпортувати до інших IDE, але всі IDE сьогодні розуміють та підтримують Maven ( IntelliJ , Eclipse та NetBeans ). Навіть якщо вам не подобається Maven, він в кінцевому підсумку є точкою відліку для всіх інших сучасних інструментів побудови.
Навіщо вам його використовувати
Про Мейвена є три речі, які дуже приємні.
Maven (після того, як ви заявите, які саме ви використовуєте) автоматично завантажить усі бібліотеки, які ви використовуєте, та бібліотеки, які вони використовують для вас. Це дуже приємно, і робить роботу з великою кількістю бібліотек смішно просто. Це дозволяє уникнути "пекла залежності" . Він схожий на Ivy Apache Ant's .
Він використовує " Конвенція про конфігурацію ", так що за замовчуванням вам не потрібно визначати завдання, які ви хочете виконувати. Вам не потрібно писати крок "компіляція", "тест", "пакет" або "чистий", як це потрібно зробити в Ant або Makefile. Просто покладіть файли в місця, в яких очікує їх Мейвен, і це повинно працювати з битою.
У Maven також є безліч приємних плагінів, які ви можете встановити, які будуть справлятися з багатьма рутинними завданнями від генерації Java-класів із XSD-схеми за допомогою JAXB до вимірювання тестового покриття Cobertura . Просто додайте їх до своїх, pom.xml
і вони інтегруватимуться з усім, що ви хочете зробити.
Початкова крива навчання є крутою, але (майже) кожен професійний розробник Java використовує Maven або свої побажання. Вам слід користуватися Maven у кожному проекті, хоча не дивуйтеся, якщо вам знадобиться певний час, щоб звикнути до цього, і що іноді ви хочете, щоб ви могли просто робити справи вручну, оскільки навчитися чомусь новому іноді боляче. Однак, коли ви справді звикнете до Мейвена, ви побачите, що управління побудовою займає майже не час.
Як почати
Найкраще місце для початку - « Мейвен за 5 хвилин ». Це допоможе вам розпочати проект, готовий до кодування, з усіма необхідними налаштуваннями файлів і папок (так, я рекомендую використовувати архетип швидкого початку, принаймні спочатку).
Після того, як ви почнете роботу, ви хочете краще зрозуміти, яким чином інструмент призначений для використання. З цього приводу " Краще будує з Мейвен " - це найбільш ретельне місце для розуміння того, як воно працює, однак " Maven: The Complete Reference " є більш актуальним. Прочитайте перший для розуміння, а потім використовуйте другий для ознайомлення.