В мои годы программирования на Java и в последнее время на Scala я никогда не использовал Ant, Maven, Gradle или какие-либо из этих инструментов для сборки Java. Везде, где я работал, был менеджер сборки, который позаботился обо всем этом - я собирал локально с IDE для разработки и модульного тестирования, затем проверял исходный код и уведомлял менеджера сборки, который сделал то, что было необходимо для скомпилировать все файлы для общей среды.
Теперь, когда я нахожусь между контрактами, я работаю над своим собственным самофинансируемым проектом, и он подходит к тому моменту, когда он может быть достаточно хорошим, чтобы реально зарабатывать деньги. У меня даже есть потенциальный инвестор, и я планирую показать им бета-версию в ближайшие несколько недель.
Но все время я просто нажимаю кнопку сборки в IDE, и он создает файл Jar, и он работает просто отлично. Конечно, общепринятая мудрость предполагает, что я «должен» писать свои собственные сценарии Ant / Maven / Gradle и использовать их вместо IDE, но каковы конкретные преимущества этого в моей ситуации (работая в одиночку)?
Я немного прочел о том, как использовать эти инструменты сборки, и похоже, что я написал бы сотни строк XML (или Groovy или чего-то еще), чтобы сделать то, что IDE делает в один клик (сгенерированный IDE Ant XML для проекта составляет более 700 строк). Это просто выглядит подверженным ошибкам, трудоемким и ненужным для моей ситуации. Не говоря уже о кривой обучения, которая отнимает время у всей другой работы, которую я делаю, чтобы подготовить продукт, чтобы показать людям.