Maven замена? - PullRequest
       26

Maven замена?

5 голосов
/ 22 декабря 2008

Что бы вы предложили в качестве замены инструментария сборки Java Maven? Просто простые скрипты Ant? SCons

Ответы [ 7 ]

8 голосов
/ 06 января 2009

Это зависит от того, что вы используете в любом случае. Мавен 1? Мавен 2? Я нахожу Maven 2 прилично документированным и достаточно мощным, когда используется в сочетании с задачами Ant и некоторыми домашними плагинами Java.

Существуют задачи Ant для использования функций Maven из Ant: http://maven.apache.org/ant-tasks/index.html. Так что вам не нужно писать свою собственную «библиотеку».

И ты можешь позвонить Муравью из Maven: http://maven.apache.org/plugins/maven-antrun-plugin/.

Вы также можете написать скрипт, используя Groovy, например: http://groovy.codehaus.org/GMaven+-+Executing+Groovy+Code.

Или просто напишите код Java для нужных вам битов: http://maven.apache.org/guides/plugin/guide-java-plugin-development.html.

Нет причин не смешивать и сочетать, когда вы можете это сделать;)

5 голосов
/ 22 декабря 2008

Хотя мне нравится идея Maven, я всегда нахожусь в борьбе за что-либо, кроме самых простых конфигураций. Его архитектура основана на плагинах, а качество плагинов сильно различается. Документация отрывочна в лучшем случае; половину времени я не могу понять, предназначен ли документ, который я читаю, для Maven 1 или 2. И как часто вам приходилось прибегать к использованию maven-ant-plugin, чтобы сделать что-то простое?

Я использую Apache Ivy уже около года, и я очень доволен этим. Есть немного кривой обучения, хотя. Но есть активный список рассылки, и автор очень отзывчив.

Я закончил тем, что написал «библиотеку» из нескольких простых целей Ant, таких как «resol», «compile», «install» и т. Д., Которые ожидают, что вещи будут в стандартных местах Maven (например, * 1010). *) и затем <import> цели в мои различные проекты. Таким образом, вы получаете лучшее из обоих миров - конфигурации в стиле Maven и всю мощь Ant.

4 голосов
/ 22 декабря 2008

Мне нравится использовать Ant с Ivy . Ivy использует репозитории Maven для получения библиотечных зависимостей, не заставляя вас менять всю систему сборки в соответствии с Maven.

3 голосов
/ 22 декабря 2008

Я использовал buildr для некоторых своих проектов. Очень краткие и читаемые сценарии сборки (без xml), в которых используются репозитории maven (с простыми усилиями, maven 1 и maven 2).

Я искал кое-что post-maven1 для работы над некоторыми проектами, и m2 не был таким уж привлекательным. Maven уже оставил всех пользователей m1 высокими и сухими из-за необходимости переделать все их системы сборки (и, насколько я могу судить, некоторые из моих не могут быть выражены в м2).

1 голос
/ 01 января 2009

Мне действительно нравится использовать ant4eclipse - вы настраиваете зависимости вашего проекта в eclipse как обычно, и вы можете написать один скрипт ant, который соберет все проекты в правильном порядке.

Для сторонних библиотек вы можете либо создать один проект затмения, содержащий (и экспортировать) все ваши файлы jar [Я НЕ РЕКОМЕНДУЕТ ЭТО], либо отдельный проект для каждой сторонней библиотеки, экспортирующий файл jar. , [Я рекомендую последнее, потому что вы можете отслеживать проект-> сторонние команды и обновлять детали при необходимости.]

0 голосов
/ 23 декабря 2008

Существует не менее трех различных частей Maven: хранилище, независимый от реализации жизненный цикл и соглашения для проекта по умолчанию. Использование Ivy обеспечивает только хранилище.

Я не использовал его, но я думаю, что easyant предназначен для более полной замены Maven. Он использует Ivy в качестве хранилища, но затем добавляет соглашения и стандартные модули.

0 голосов
/ 22 декабря 2008

Я бы пошел с buildr, если я ожидаю сложных целей сборки в моей сборке. Преимущество в том, что вы вообще не зависите от какой-либо конкретной библиотеки. У вас есть все API от Ruby, чтобы делать все, что вы хотите; в отличие от Айви, в этом случае вы все еще привязаны к ANT. Если вы хотите ввести библиотечную зависимость в уже установленный механизм построения на основе ANT, который выполняет все операции, которые вы хотите выполнить, то стоит попытаться перейти на Ivy.

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