Зачем нужен maven?

389
18 февраля 2017, 05:41

Здравствуйте, очень хотелось бы узнать, много пересмотрел и перечитал, но не могу понять. Зачем нужен Maven, если есть IDE - Eclipse, Netbeans и т.д.? В чем его преимущество по сборкам, если и IDE справляются?

Answer 1

Не совсем корректный вопрос, нельзя сравнивать Maven и среды разработки. C Maven можно работать и без сред разработки. Зачем нужен? Для управления зависимостями, для сборки проектов, и для кучи всего остального полезного. К примеру, ты пишешь большой проект и используешь в нем много технологий, к примеру, Hibernate, JUnit. Возникает вопрос как подключить все библиотеки? Ответ прост - просто прописать зависимости в pom.xml, а maven их скачает за тебя. Затем возможна такая ситуация, ты хочешь показать проект другу, отправляешь ему, но вот проблема, если это не проект Maven, то твоему другу придется скачивать библиотеки, чтобы проект заработал, а так за него это сделает Maven.С ростом твоих проектов - ты сам оценишь достоинства Maven. IDE справляются - а если нет IDE на твоем компьютере?Что будешь делать? На помощь приходит Maven, он кроссплатформенный и для работы с ним достаточно командной строки.

Answer 2

IDE умеет собирать проект, но каждая делает это по разному - использует разную версию java, кодировку, структуру проекта, внешние библиотеки находятся в разных местах и могут иметь разную версию.

Maven и другие системы сборки используются для унификации этого процесса. Они имеют ряд достоинств:

  • с их помощью указываются версии библиотек, и что не маловажно, система знает откуда их брать.
  • имеет устоявшуюся структуру проекта, это позволяет избежать путаницы и легче найти то что нужно.
  • имеет определенный набор шагов - компиляция, тестирование, упаковка и тд.
  • возможность кастомизации процесса сборки - добавления дополнительных шагов
  • сборка не зависит от IDE, операционной системы и пр, т.к. можно указать версию компилятора, кодировку и пр.
READ ALSO
Замена фрагмента на фрагмент

Замена фрагмента на фрагмент

Есть фрагмент Fragment1, на него с помощью RecyclerView выводятся Button в адаптере это выглядит следующим образом:

401
Объекты статических классов

Объекты статических классов

Здравствуйте уважаемые знатоки)Недавно в процессе изучения Java(путем прохождения javarush) наткнулся на вот такой код, вызвавший у меня когнитивный...

424
Как добавить новую запись к таблице, извлеченной из базы данных java?

Как добавить новую запись к таблице, извлеченной из базы данных java?

Возможно ли добавить новую запись(нового пользователя) в таблицу, которую извлекли из базы данных? При нажатии кнопки должны открываться...

340