Java в чем смысл инструментов для сборки [закрыт]

135
22 мая 2019, 03:00

Я как понял, если я хочу скомпилировать код, в котором используются различные сторонние библиотеки, то мне необходимо будет писать кучу доп. параметров, описывающих подключение этих самых библиотек. Именно поэтому и были созданы maven и тд. которые позволяют компилировать из консоли, без написания кучи доп. параметров. Правильно я понимаю?

Answer 1

В начале было слово, и слово это было javac. И было оно удобно, но лишь до тех пор пока программа состояла из одного класса. И возленились программисты, не желали они писать команды длинные с параметрами мудрёными. И стали разработчики автоматизировать сборку, и написали множество скриптов кастомных, в которых сам Страуструп не смог бы разобраться. И решили люди разумные, что это нехорошо.

В первую очередь системы сборки нужны для унификации процесса сборки у всех, кто работает над проектом. Если на любом окружении, в любой ОС и IDE при помощи одной и той же короткой команды можно получить одно и то же собранное приложение, то это сильно уменьшает количество багов, вызванных разницей в окружении разработчиков. А так как практически везде в мире Java используется одна из 3 стандартных систем сборки, это сильно снижает порог входа в проект, ведь куда бы ты не пришёл, всё собирается через mvn build (или gradle build; или, на крайняк, просто ant). Не нужно вникать в кастомные скрипты сборки, везде тебя ждёт знакомый формат дескриптора сборки. Бонусом в Maven и Gradle работает автоматическая подгрузка зависимостей. Это устраняет ещё один потенциальный источник проблем - разные версии библиотек у разных разработчиков (это, правда, порождает ряд других проблем, но это совсем другая история).

READ ALSO
Как удалить слово из файла

Как удалить слово из файла

Программа находит длинное слово в файле, подскажите как его можно удалить?

156
бинарное дерево Java, метод clear()

бинарное дерево Java, метод clear()

Реализую бинарное дерево, и нужно переопределить метод clear(), который удалит все элементы из коллекцииВопрос - правильно ли я делаю (пикча...

168
SQLite прочитать базу после очистки кэша

SQLite прочитать базу после очистки кэша

У меня есть Sqlite база , которую я читаю из файла AssetsВот встал вопрос как правильно обойти один момент

185
Как разбить массив случайным образом на m элементов ?

Как разбить массив случайным образом на m элементов ?

Подскажите пожалуйста как решить данную задачу оптимальным способом :

159