Каковы некоторые хорошие утилиты Java Make? - PullRequest
11 голосов
/ 04 октября 2008

Я ищу утилиту make для создания больших Java-программ. Я уже знаю об ANT, но хочу посмотреть, что еще доступно.

В идеале, он должен быть в состоянии справиться со странностью директории пакета .java ->. Class, которая портит GNU Make.

Win32, но кроссплатформенность это плюс.

EDIT: Я вижу некоторые недостатки в использовании ANT, поэтому я хотел увидеть другие варианты, хотя я, вероятно, в конечном итоге буду использовать его, просто потому, что он работает.

  • требует нетривиальных make-файлов XML, "HelloWorld" - это уже 25 строк, и любая более разумная программа быстро расширяется.
    • В руководствах по ant показано сравнение файлов ant build.xml, которые примерно идентичны большим файлам .bat, которые просто выполняют все команды java, только дольше. http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html, У меня уже есть один из них.
    • Xml означает, что каждая отдельная зависимость, переменная, цель, правило и проект несут в себе лишнюю хитрость, просто затрудняет чтение строк. Налог на угловые скобки
  • решает все неправильные проблемы для меня.
    • ant упрощает написание командных строк jar и javac, упрощает генерацию манифестов, упрощает указание исходных файлов .java, упрощает указание свойств jvm / java, упрощает написание пользовательских инструментов сборки.
    • ant не облегчает зависимости классов java и, похоже, не обладает более мощной системой переменных, обе эти вещи обычно решаются с помощью утилит make.

Я бы использовал gnu make, но он не может определить, где заканчивается файл .class для файла .java с объявлением пакета.

Ответы [ 13 ]

0 голосов
/ 04 октября 2008

1) Муравей + плющ довольно хорош, если у вас есть инвестиции в муравья. Вам не нужно переходить от муравья к мавену только для положительных героев зависимости.

2) Гант и муравей: как они соотносятся: http://java.dzone.com/articles/ant-or-gant-part-1

3) http://www.gradle.org/ - использует Groovy!

BR
~ A

0 голосов
/ 04 октября 2008

Я перешел из Муравей в Maven 2 и с тех пор не оглядывался назад. Ant и Maven 2 разных способа построения. С Ant вы даете инструкции о том, как строить вещи. Тогда как с Maven 2 вы говорите, что хотите построить. Если у вас есть существующая сборка Ant, xml, вы можете сделать первый шаг в рефакторинге вашей сборки, обернув его в Maven 2 pom.xml.

0 голосов
/ 04 октября 2008

Ну, очевидно, есть классические утилиты make (make, gmake, nmake), также есть (я думаю) некоторые системы сборки, написанные на Ruby, или, возможно, Python. Они не являются специфичными для Java, скорее это просто системы сборки с возможностью написания сценариев.

Но ANT лидирует в этой области уже 8-9 лет, и с точки зрения основ, довольно легко начать работу.

В свое время, сделать из особенно ужасного для компиляции java, потому что он обычно вызывал компилятор javac для каждого файла в отдельности. ANT не страдает от этого, и, возможно, make можно изменить, чтобы не делать этого. Но это был один из элементов ANT, который сделал его таким популярным. Это было просто быстро.

Я ценю, что ANT не может быть идеальным решением, но оно действительно практично.

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