Можем ли мы использовать pom.xml в ANT - PullRequest
5 голосов
/ 26 сентября 2011

Я знаю, что мы можем очень хорошо использовать ANT и Maven вместе для создания проекта. Мы можем запускать сценарии ANT через POM.xml в Maven. Но мой вопрос: можем ли мы запустить pom.xml через ANT build.xml? то есть мы можем создать сборку maven из build.xml

Ответы [ 2 ]

8 голосов
/ 26 сентября 2011

Да, используя задания maven ant .

На странице перечислено несколько задач maven, которые могут быть интегрированы в скрипт сборки ant, таким образом объединяя функции обоих. В качестве примера можно привести задачу mvn , которая в соответствии с документацией может выполнить полную сборку maven из ant.

  <artifact:mvn mavenHome="/path/to/maven-3.0.x">
     <arg value="install"/>
  </artifact:mvn>

Помимо этого, есть

  • Задача зависимостей
  • Установка и развертывание задач
  • Задача Pom

каждый из которых описан с примерами.

1 голос
/ 27 сентября 2011

Maven и ANT - очень разные инструменты сборки.В ANT вы пишете всю логику самостоятельно, тогда как стандартный процесс сборки «запекается» с Maven.Файл POM не содержит логики, вместо этого он содержит серию объявлений о вашем проекте.

Если вы хорошо понимаете, как работает Maven, теоретически возможно взять POM и сгенерировать сборку ANT, которая имитирует поведение сборки Maven.Я не знаю ни одного решения, которое можно легко преобразовать в другом направлении, главным образом потому, что в ANT отсутствует функциональность Maven, например, управление зависимостями.

Вместо того, чтобы пытаться преобразовать сборку ANT в Maven, ярекомендуем вам сохранить существующую логику сборки и делегировать управление вашим classpath задачам ivy или Maven ANT.Эти инструменты также предоставляют задачи для публикации результатов сборки в репозитории Maven, что позволяет вашему проекту делиться с другими проектами с помощью Maven.

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

...