Почему никто не использует make для Java? - PullRequest
149 голосов
/ 05 февраля 2010

Почти в каждом Java-проекте, который я видел, используется Maven или Ant. Они прекрасные инструменты, и я думаю, что любой проект может использовать их. Но что случилось с make ? Он используется для различных не-Java проектов и может легко обрабатывать Java. Конечно, вам нужно скачать make.exe, если вы используете Windows, но Ant и Maven также не поставляются с JDK.

Есть ли какой-то фундаментальный недостаток в make при использовании с Java? Это только потому, что Ant и Maven написаны на Java?

Ответы [ 17 ]

4 голосов
/ 07 апреля 2013

Если я не являюсь никем, предположение, что никто не (неправильно) использует make для java, неверно.

«Управление проектами с помощью GNU Make» (доступно в GFDL) содержит полную главу, посвященную использованию make с проектами Java.

Поскольку он содержит длинный (и, надеюсь, справедливый) список плюсов и минусов использования make вместо других инструментов, вы можете захотеть взглянуть туда. (см .: http://oreilly.com/catalog/make3/book/)

3 голосов
/ 17 марта 2011

Ant - это улучшение конфигурации XML по сравнению с Makefiles, а Maven - улучшение построения зависимостей по сравнению с Ant. Некоторые проекты используют все три. Я думаю, что в проектах JDK использовалось сочетание make-файлов и ant.

1 голос
/ 05 февраля 2010

Одной из основных причин является то, что Ant и Maven (и большинство инструментов SCM, CI и IDE, ориентированных на Java) написаны на Java для / Java-разработчиков. Это упрощает интеграцию в среду разработки и позволяет другим инструментам, таким как серверы IDE и CI, интегрировать части библиотек ant / maven в инфраструктуру сборки / развертывания.

1 голос
/ 15 сентября 2014

ApacheAnt не похож на Make. Make рассказывает о зависимости между файлами и о том, как создавать файлы. Ant - это зависимости между «задачами», и это действительно больше способ склеить сценарии сборки.

это может вам помочь AntVsMake

1 голос
/ 08 февраля 2010

Когда-то я работал над проектом Java, который использовал gmake. Мое воспоминание туманно, но IIRC нам было трудно разобраться со структурой каталогов пакетов, которую ожидает javac. Я также помню, что создавать JAR-файлы было хлопотно, если у вас не было ничего тривиального.

0 голосов
/ 05 февраля 2010

Ant и Maven подходят к графу зависимостей сборки и управлению им с более «современной» точки зрения ... Но, как говорит Оскар, они создали свои собственные проблемы, пытаясь решить старые проблемы с make.

0 голосов
/ 05 февраля 2010

Я никогда не использовал GNU Make для проектов Java, но я использовал jmk . К сожалению, он не обновлялся с 2002 года.

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

В настоящее время я предполагаю, что у любого разработчика Java, с которым я делюсь кодом, установлен Ant.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...