2013-03-28 4 views
1

У меня очень мало опыта работы с Ant или Maven, но я пытаюсь оптимизировать процесс сборки для проекта, над которым я работаю. Я использую IntelliJ Idea для разработки Java, и я хотел бы использовать Ant для своих автоматизированных сборок, так как IntelliJ может автоматически генерировать мои скрипты сборки (которые я могу затем настроить для удовлетворения моих потребностей). Вместо того, чтобы хранить все мои банки с зависимостями в Git (сервер, на котором я буду запускать свою автоматическую сборку, будет регулярно извлекаться из репо для автоматического создания), я хотел бы использовать Maven для объявления зависимостей в pom.xml и пусть Ant использует maven-ant-tasks для автоматической загрузки этих зависимостей для меня.Maven and Ant в IntelliJ Idea, Загрузки Зависимости

Проблемы Я бег в к тому, что IntelliJ Idea, кажется, не нравится необходимые

<artifact:pom ...></artifact:pom> 

элементов в моем Ant сценария сборки ... даже после установки баночки Maven-ANT-задач в моем ant/libs и объявить Jar как внешний DTD, как рекомендуется в this answer from the Jetbrains forum.

Я подозреваю, что отсутствие моего опыта работы с Ant может быть проблемой здесь (например, у меня есть несколько модулей в моем проекте, каждый из которых имеет собственный файл Ant и файл pom, должен ли я сделать эти шаги в все эти файлы?), и я также подозреваю, что здесь появляется ошибка в Idea. Кто-нибудь из вас когда-либо выполнял эту задачу и как?

ответ

2

Я никогда не играю с «генерировать муравьиную сборку ...» от IntelliJ. Но ваш подход кажется сложным.

Maven подходит для решения зависимостей, но также является подходящим инструментом для создания вашего проекта. В общем, ant не требуется (кроме случаев, когда ваш процесс сборки в какой-то момент немного сложный).

Итак, на мой взгляд, вы должны попытаться построить свой проект с помощью maven. И если ваш проект очень сложный для сборки, вы можете вызвать некоторую анти-задачу для выполнения более сложных/сложных/специальных шагов вашей сборки. Но убедитесь, что maven является мастером: maven может вызвать ant-задачу, используя maven-antrun-plugin.

По моему опыту: maven-antrun-plugin из гораздо проще в использовании, чем maven-ant-tasks.

Дополнения, если ваш проект правильно mavenized, он будет работать очень гладко с IntelliJ.

+0

Я не женат на Ant любыми способами, я просто не знал, что Maven можно использовать для полной сборки. Знаете ли вы о каких-либо хороших учебниках для создания и запуска полной сборки с использованием Maven? –

+2

взгляните на это http://www.sonatype.com/books/mvnref-book/reference/ – ben75